问题描述
我有一个JSON数据如下:
I have a JSON data as follows
{"id": "367501354973","from": {
"name": "Bret Taylor",
"id": "220439" }
这是由一个对象(结果)的IDictionary [字符串,对象]
which is returned by an object(result) of IDictionary[String, Object]
的 在我的C#代码,返回:的
In my C# code:
我已经做了的类用于存储JSON值这是如下:
I have made a class for storing the JSON value which is as follows
public class SContent
{
public string id { get; set; }
public string from_name { get; set; }
public string from_id { get; set; }
}
我的存储的解析JSON数据主要的C#功能存储类属性里面的值如下:
List<object> data = (List<object>)result["data"];
foreach (IDictionary<string, object> content in data)
{
SContent s = new SContent();
s.id = (string)content["id"];
s.from_name = (string)content["from.name"];
s.from_id = (string)content["from.id"];
}
的当我执行这个代码,我得到一个例外说的系统找不到钥匙from.name和from.id的
When i execute this code, i get an exception saying System cannot find the Key "from.name" and "from.id"
在我的评论两行(s.from_name =(串)的含量[from.name]; s.from_id =(串)的含量[from.id];)我的代码运行正常
When i comment the two lines (s.from_name = (string)content["from.name"];s.from_id = (string)content["from.id"];) my code runs fine.
我想我不能够正确地引用嵌套的JSON数据。
任何人都只是验证它,请告诉我如何引用嵌套数据的JSON在C#?
感谢
推荐答案
我不知道你是如何解析JSON字符串。您是否使用了类框架做反序列化?
I'm not sure how you are parsing the JSON string. Are you using a class in the Framework to do the deserialization?
您可以使用在定义的的JavaScriptSerializer
类 System.Web.Script.Serialization
命名空间(您可能需要添加到System.Web.dll程序的引用)
You could use the JavaScriptSerializer
Class defined in the System.Web.Script.Serialization
Namespace (you may need to add a reference to System.Web.dll)
使用这个类,你会写你这样的代码:
Using that class, you would write your code like this:
public class SContent
{
public string id { get; set; }
public SFrom from { get; set; }
}
public class SFrom
{
public string name { get; set; }
public string id { get; set; }
}
然后反序列化看起来是这样的:
Then deserialization looks like this:
var json = new JavaScriptSerializer();
var result = json.Deserialize<SContent>(/*...json text or stream...*/);
请参阅的 MSDN上。您可能还需要检查出。
See JavaScriptSerializer on MSDN. You might also want to check out this similar question.
这篇关于在C#中解析JSON数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!