0

この JSON 結果を解析するにはどうすればよいですか :

{
   "Output": [
      {
         "LGA11aAust.DistanceToBorder": "2587.4",
         "LGA11aAust.LGA_NAME": "Hume (C)",
         "SustainabilityVicZones.DistanceToBorder": "2575.6",
         "SustainabilityVicZones.REBATEZN": "Metropolitan Melbourne",
         "LGA11aAust.Status": "T",
         "SustainabilityVicZones.Status": "T",
         "Status": "T",
         "Status.Code": "",
         "Status.Description": "",
         "user_fields": []
      }
   ]
}

私はJSON.parse方法を認識していますが、キーの値にアクセスできないため、キーの値にアクセスできません.

例:全体としてOutput[0].Status.Code扱わないので使えません。フィールドの下にあると思います。Status.CodeCodeStatus

助けてください。

4

4 に答える 4

1

JSON .NET私​​のお気に入りの JSON シリアライザーとデシリアライザーを使用できます。

使い方:



public class Output
{
   [JsonProperty(PropertyName="LGA11aAust.DistanceToBorder")]
   public decimal DistanceToBorder {get; set;}

   //All the other properties

}

使用法:

var deserializedObjects = 
JsonConvert.DeserializeObject<List<Output>>(someJsonResult)
于 2012-06-15T06:43:37.460 に答える
0

これをチェックして

動的JSONパーサー

于 2012-06-15T04:56:01.253 に答える
0

それは悪い考えのように聞こえます...しかし、ピリオドをスラッシュでエスケープすればできると思います:

JSON.parse('{"a\.b":"c"}')

与えます:

Object
    a.b: "c"

(Chrome デバッガーで)

次に、引用符を使用してプロパティにアクセスする必要があります。

var x = JSON.parse('{"a\.b":"c"}');
console.log(x["a.b"]);
于 2012-06-15T02:43:07.793 に答える
0

私は自分の質問に対する答えを見つけました。

(.) ドット演算子を使用する代わりに、パラメーターの名前を角括弧で直接書くことができます。

例:- パラメータ「Status.Code」の値は、次のようにアクセスできます-

 Output[0]["Status.Code"]  
于 2012-06-20T03:24:05.543 に答える