我有一個.NET項目。我正在使用JSON.NET庫。我需要使用這個庫來解析一些JSON。我的JSON如下所示:用JSON.NET解析JSON鍵/值對
{"1":"Name 1","2":"Name 2"}
該對象實際上只是一個鍵/值對列表。我想弄清楚如何使用JSON.NET來解析這個JSON和2)循環通過鍵/值對。有沒有辦法做到這一點?如果是這樣,怎麼樣?
我看到的唯一情況是反序列化成強類型對象。
太謝謝你了!
我有一個.NET項目。我正在使用JSON.NET庫。我需要使用這個庫來解析一些JSON。我的JSON如下所示:用JSON.NET解析JSON鍵/值對
{"1":"Name 1","2":"Name 2"}
該對象實際上只是一個鍵/值對列表。我想弄清楚如何使用JSON.NET來解析這個JSON和2)循環通過鍵/值對。有沒有辦法做到這一點?如果是這樣,怎麼樣?
我看到的唯一情況是反序列化成強類型對象。
太謝謝你了!
你可以反序列化到Dictionary<string, string>
var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
foreach(var kv in dict)
{
Console.WriteLine(kv.Key + ":" + kv.Value);
}
由於JObject實現IDictionary
,你也可以簡單地使用JObject.Parse
var dict = JObject.Parse(@"{""1"":""Name 1"",""2"":""Name 2""}");
下面是JSON凡subratings有鍵值對
{
"data": [
{
"id": "288560300",
"lang": "en",
"subratings": {
"Cleanliness": "5",
"Sleep Quality": "5",
"Service": "5"
}
}
]}
public void LoadJsonKeyValuePair(string json)
{
Rootobject item = JsonConvert.DeserializeObject<Rootobject>(json);
}
public class Rootobject
{
[JsonProperty("data")]
public List<Datum> data { get; set; }
}
public class Datum
{
[JsonProperty("id")]
public string id { get; set; }
[JsonProperty("lang")]
public string lang { get; set; }
[JsonProperty("subratings")]
public Dictionary<string, object> subratings { get; set; }
}
您可以使用Newtonsoft。 JSON反序列化這個對象
你能解釋一下如何用這個例子列出鍵/值對嗎?我有一個類似的設置。它不清楚如何訪問與什麼在這裏鍵/值對。 – Autonomic
大家覺得我也應該分享這個
以上回答使用文本框asp.ne牛逼
var jsonData = JsonConvert.DeserializeObject<Dictionary<string, string>>
(json_Incoming_fromServer);
foreach(var keyvalue in jsonData)
{
textBox.text = keyvalue.Value; // this will only display the value of that
// attribute/key
}
感謝EZI
你對我的作品生成這個JSON?它會始終是1和2作爲鍵名嗎? – mason
那麼你在JSON.NET方面迄今爲止嘗試過了什麼?它看起來像你應該能夠解析這個'JObject',或將其轉換爲'Dictionary'非常容易... –
可能的重複[我如何反序列化JSON到一個簡單的字典<字符串,string> in ASP.NET?](http://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictionarystring-string-in-asp-net) –