2014-03-31 155 views
0

我有一个JSON文件如下:解析JSON数据

JSON File

,我想用C#来解析它们,我试图将JSON从Newtonsoft但我当解析它我得到了一个null,我也尝试将Json数据作为字符串粘贴到C#中,但似乎在json数据字符串中有很多语法错误。

var source = File.ReadAllText("Test/jsonfile.json"); 
dynamic stuff = JObject.Parse(source); 
string name = stuff.hotelID; 

回答

1

您可以使用JavaScriptSerializer及其Deserialize方法。

var source = File.ReadAllText("Test/jsonfile.json"); 
var JavaScriptSerializer MySerializer = new JavaScriptSerializer(); 
var myObj = MySerializer.Deserialize<T>(source); 
var htoelId = myObj.searchResults[0].hotelID; 

其中T是你的对象。

另外,如果你有大量的文件,设置

MySerializer = new JavaScriptSerializer { MaxJsonLength = int.MaxValue }; 
+0

是的,谢谢你,但我仍然不明白如何获取ID或其他属性在这种情况下,你可以建议我一些更多的想法?谢谢@arpad – bluewonder

+0

@bluewonder我已经更新了我的答案。您可以按照原样映射对象。我看到你有一个搜索结果列表。所以也许答案应该是myObj.searchResults [0] .hotelID。但那是你自己决定的。 – arpad