2016-12-07 7 views
0

私の最初の入力データ変換メソッドはJSONを返し、その型は文字列です。戻り文字列は次のようになります。JSON配列データのC#検索

[{ 
    "coordinates": [102.5, 24.123], 
    "type": "Point", 
    "properties": { 
     "tsu": "", 
     "name": "china: yunnan province; vietnam: hanoi", 
     "yyyymmdd": "19700104" 
    } 
}, { 
    "coordinates": [-73.7955, -51.943], 
    "type": "Point", 
    "properties": { 
     "tsu": "tsu", 
     "name": "s. chile", 
     "yyyymmdd": "19700614" 
    } 
}, { 
    "coordinates": [28.745, 39.18], 
    "type": "Point", 
    "properties": { 
     "tsu": "", 
     "name": "turkey: demirci, manisa", 
     "yyyymmdd": "19700423" 
    } 
}] 

このような文字列に格納されたデータにアクセスする方法はありますか?

+4

JSONのように見えますが、JSONというタグが付いているので、json.netのようなJSONライブラリを使用してください。 –

+0

[ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

+0

このサイトでは「アドバンテージ・アドバンテージ」「アドバイスありがとう」「おかげさまで」などは使用しないでください。 –

答えて

1

Json.Netを使用してください。すべての.NETオブジェクトを直列化および逆シリアル化するのは非常に簡単です。

http://www.newtonsoft.com/json

+1

NuGetパッケージとしても利用できます。 – EJoshuaS

3

ステップ0:あなたのJSON文字列のタイプミスを修正しました。(私はあなたのためにそれを行うためにあなたの記事を編集しました)。

ステップ1:json2csharpに移動し、JSONを入力して、クラスを生成させます。

ステップ2:NuGetからJson.Netをインストールします。

ステップ3:var root = JsonConvert.DeserializeObject<RootObject>(myJsonString);

ステップ4を書く:あなたのようなオブジェクトを使用するC#で他のオブジェクト。

+0

、またはダイナミック – pm100

+0

@ pm100にダージアラートすることができます。私はintellisenseとコンパイル時のチェックを提供するので、強く型付けされたクラスにデシリアライズすることを好む傾向がありますが、YMMVです。 –

+0

それぞれのjsonオブジェクトに異なるスキーマがあることがあります。その場合、動的 – pm100