Yahoo Financeから市場データをストリーム配信しようとしています。 jsonストリームをデシリアライズしてコンソールに書き込むのに問題があります。JSON文字列をオブジェクトリストにデシリアライズし、値コンソールに書き込む
私はいくつかのスタックオーバーフローの質問を一緒に何かをしようとしてきました。
コンソールに結果を書き込む際に問題があるため、適切なコードをまとめることができないのかどうかは分かりません。
ヤフーからの私のJSONデータは次のようになります。
{
"ResultSet":{
"Query":"genmab",
"Result":[
{
"symbol":"GNMSF",
"name":"Genmab A/S",
"exch":"PNK",
"type":"S",
"exchDisp":"OTC Markets",
"typeDisp":"Equity"
},
{
"symbol":"GE9.F",
"name":"Genmab A/S",
"exch":"FRA",
"type":"S",
"exchDisp":"Frankfurt",
"typeDisp":"Equity"
},
{
"symbol":"GEN.F",
"name":"GENMAB AS DK 1",
"exch":"FRA",
"type":"S",
"exchDisp":"Frankfurt",
"typeDisp":"Equity"
},
{
"symbol":"GE9.BE",
"name":"GENMAB AS DK 1",
"exch":"BER",
"type":"S",
"exchDisp":"Berlin",
"typeDisp":"Equity"
},
{
"symbol":"GE9.SG",
"name":"GENMAB AS Navne Aktier DK 1",
"exch":"STU",
"type":"S",
"exchDisp":"Stuttgart",
"typeDisp":"Equity"
},
{
"symbol":"GEN.CO",
"name":"Genmab A/S",
"exch":"CPH",
"type":"S",
"exchDisp":"Copenhagen",
"typeDisp":"Equity"
},
{
"symbol":"GEN.SG",
"name":"GENMAB AS Navne Aktier DK 1",
"exch":"STU",
"type":"S",
"exchDisp":"Stuttgart",
"typeDisp":"Equity"
},
{
"symbol":"GMXAY",
"name":"Genmab A/S",
"exch":"PNK",
"type":"S",
"exchDisp":"OTC Markets",
"typeDisp":"Equity"
},
{
"symbol":"GE9.DU",
"name":"GENMAB AS DK 1",
"exch":"DUS",
"type":"S",
"exchDisp":"Dusseldorf Stock Exchange",
"typeDisp":"Equity"
},
{
"symbol":"0MGB.IL",
"name":"GENMAB A/S GENMAB ORD SHS",
"exch":"IOB",
"type":"S",
"exchDisp":"International Orderbook - London",
"typeDisp":"Equity"
}
]
}
}
私はtogeter置かれているコードは、データojectsのリストを作成する必要があります。
using System.Web.Script.Serialization;
public class DataObject
{
public string symbol { get; set; }
public string name { get; set; }
public string exch { get; set; }
public string type { get; set; }
public string exchDisp { get; set; }
public string typeDisp { get; set; }
}
public class RootObject
{
public DataObject[] resultSet { get; set; }
}
using (WebClient web = new WebClient())
{
string _url = "http://d.yimg.com/aq/autoc?query=genmab®ion=CO&lang=en-US";
var search = web.DownloadString(_url);
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<RootObject> oRootObject = serializer.Deserialize<List<RootObject>>(search);
そして、私がしたいと、その後いただきたいです別のデータをコンソールに書き込む
foreach (var item in oRootObject)
{
Console.WriteLine(oRootObject.???.Value.name);
}
私はフローをデバッグしようとしましたが、私はどんなデータも見ませんオブジェクトリストに追加します。あなたのJSONをフォーマットした後、私はあなたのクラスはかなりあなたのJSON
にマッピングしていないことを
おかげ フレミング
あなたは私を打つ!特定の問題は、クエリを含む代わりにOP配列のResultSetを配列として返し、結果配列 –
はjsonを正しくフォーマットしたときにのみこれを見たということでした。 json2csharp.comも大いに役立ちます! – Alex
ありがとうございました。 しかし、どうすれば別の{get;セット; }をコンソールに追加します。 私はforeachを使うことを考えましたが、コードを正しく取得できないようです。 –