Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用JSON.NET解析JSON键/值对_C#_Json - Fatal编程技术网

C# 使用JSON.NET解析JSON键/值对

C# 使用JSON.NET解析JSON键/值对,c#,json,C#,Json,我有一个.NET项目。我正在使用JSON.NET库。我需要使用这个库来解析一些JSON。我的JSON如下所示: {"1":"Name 1","2":"Name 2"} 对象实际上只是键/值对的列表。我试图弄明白如何使用JSON.NET 1)解析这个JSON,2)通过键/值对进行循环。有办法做到这一点吗?如果是,怎么做 我唯一看到的是反序列化为强类型对象 非常感谢你 您可以反序列化到字典 下面是json,其中子评级具有键值对 { "data": [ { "id": "28

我有一个.NET项目。我正在使用JSON.NET库。我需要使用这个库来解析一些JSON。我的JSON如下所示:

{"1":"Name 1","2":"Name 2"}
对象实际上只是键/值对的列表。我试图弄明白如何使用JSON.NET 1)解析这个JSON,2)通过键/值对进行循环。有办法做到这一点吗?如果是,怎么做

我唯一看到的是反序列化为强类型对象


非常感谢你

您可以反序列化到
字典


下面是json,其中子评级具有键值对

{  
"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; }
}
{
“数据”:[
{      
“id”:“288560300”,
“郎”:“恩”,
“次级评级”:{
“清洁度”:“5”,
“睡眠质量”:“5”,
“服务”:“5”
}
}
]}
public void LoadJsonKeyValuePair(字符串json)
{  
Rootobject item=JsonConvert.DeserializeObject(json);
}
公共类根对象
{
[JsonProperty(“数据”)]
公共列表数据{get;set;}
}
公共类数据
{
[JsonProperty(“id”)]
公共字符串id{get;set;}
[JsonProperty(“lang”)]
公共字符串lang{get;set;}
[JsonProperty(“次级评级”)]
公共字典子分级{get;set;}
}

你可以使用Newtonsoft.Json来反序列化这个对象

大家都觉得我也应该分享这个

使用asp.NET t中的文本框,上面的答案对我有效

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 

}
var jsonData=JsonConvert.DeserializeObject
(json_从服务器传入_);
foreach(jsonData中的var keyvalue)
{
textBox.text=keyvalue.Value;//这将只显示该值
//属性/键
}

多亏了EZI

您生成了这个JSON吗?键名是否总是1和2?到目前为止,您在JSON.NET方面做了哪些尝试?看起来您应该能够将其解析为一个
JObject
,或者非常容易地将其转换为一个
字典
。可能的重复请发布一些您尝试过的代码,以便我们可以进一步帮助您。这个问题看起来像硬币的另一面:您是否可以解释如何使用此示例列出键/值对?我有一个类似的设置。不清楚如何使用此处的内容访问键/值对。是否可以仅从字典中选择几个键?
{  
"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; }
}
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 

}