0

これは私のサンプル JSON ファイルで、値を解析して読み取ろうとしています....

C = {{
    "Travel": {
        "ServiceProvider": {
            "Name": "SRS",
            "Rating": "3 stars",
            "Rates": "Nominal",
            "Features": {
                "OnlineBooking": "Yes",
                "SMS_Ticket": "No"
            },
            "UserDetails": {
                "Name": "Jack",
                "Age": "33",
                "Gender": "Male"
            }
        },
        "BusProvider": {
            "Name": "SRS",
            "Rating": "3 stars",
            "Rates": "Nominal",
            "Features": {
                "OnlineBooking": "Yes",
                "SMS_Ticket": "No"
            },
            "UserDetails": {
                "Name": "Jack",
                "Age": "33",
                "Gender": "Male"
            }
        }
    }
}

私は JS にかなり慣れていないので、ネストされた要素に一般的な方法でアクセスする必要があります。

詳細を正しく抽出できません。ネストされた子要素へのアクセスに行き詰まります。

  1. 私にとっての問題は、それらにアクセスするための「キー」の名前を常に知っているとは限らないことです。JSON は動的になるため、ネストされた子要素にアクセスするには一般的なメカニズムが必要です。ネストは 3 ~ 4 レベルまで可能です。

  2. ネストが深い場合、キーと値のペアにアクセスするためにどの表記を使用しますか。

任意のヘルプをいただければ幸いです。

4

2 に答える 2

0

オブジェクトをデシリアライズした後、これを行うことができます

var resultJSON = '{"name":"ricardo","age":"23"}';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
    //display the key 
    alert(k + ' is the key)
}

このようにオフコースを再帰的に使用してそれを行うことができます-Link Here 方法は同じで、例に適応するだけです

于 2013-01-23T11:37:11.287 に答える
0

動的アクセスの場合、ブラケット表記を使用できます。つまりvar json = {nonKnown: 1};、次のようにアクセスできます。var 値 = json[不明なプロパティ名];

ただし、プロパティの名前を動的に定義することさえできない場合は、使用する必要があります

for(variableName in json){
  if(json.hasOwnProperty(variableName)){
    console.log(variableName);
  }
}

ここから基本的な考え方を理解する必要があります。幸運を

于 2013-01-23T12:00:21.370 に答える