1
Web Request JSON出力を取得して解析しようとしています。ここで私はRecordクラスをデシリアライズし、名前を選択しようとすると、私はこれらの結果 JSON逆シリアル化オブジェクトHTTPWebResponse
public class RootObject
{
public string kind { get; set; }
public string name { get; set; }
public string fullPath { get; set; }
public int generation { get; set; }
public string selfLink { get; set; }
public string type { get; set; }
public List<Record> records { get; set; }
}
public class Record
{
public string name { get; set; }
public string data { get; set; }
}
のための公共のクラスを作成して出力
{
"kind":"internal",
"name":"SplashPageToggle_dg",
"fullPath":"SplashPageToggle_dg",
"generation":1255326,
"selfLink":"https://link",
"type":"stri ng",
"records":[
{
"name":"enable_app1",
"data":"0"
},
{
"name":"enable_app2",
"da ta":"0"
},
{
"name":"enable_app3",
"data":"0"
},
{
"name":"enable_app4",
"data":"0"
},
{
"name":"enable_app5",
"data":"0"
},
{
"name":"enable_app6",
"data":"1"
},
{
"name":"enable_app7",
"data":"0"
},
{
"name":"enable_app8",
"data":"0"
},
{
"name":"enable_app9",
"data":"0"
},
{
"name":"enable_app10",
"data":"0"
}
]
}
ですが、私はRootObjectクラスから名前を取得します。ここに私のコード
static void Main(string[] args)
{
string url = "URL";
HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(url);
getRequest.Method = "GET";
getRequest.Credentials = new NetworkCredential("UN", "PW");
ServicePointManager.ServerCertificateValidationCallback = new
RemoteCertificateValidationCallback
(
delegate { return true; }
);
var getResponse = (HttpWebResponse)getRequest.GetResponse();
Stream newStream = getResponse.GetResponseStream();
StreamReader sr = new StreamReader(newStream);
var result = sr.ReadToEnd();
var splashInfo = JsonConvert.DeserializeObject<Record>(result);
Console.WriteLine(splashInfo.name);
Console.ReadLine();
}
そして、ちょうどOPため、splashInfoは今、レコードオブジェクトのデシリアライズされたリストが含まれていますのでうsplashInfo.recordsを呼び出してそれらをすべて返すことができます。 – Dispersia
みんなありがとう。 – maltman
@Dispersia。どのようにリストに自動的に入力できますか? fxと言うことは可能ですか? List.add()か何か?私はリストが自動的にJsonからどのように読み込まれるのかを知りません。 – uba2012