2014-04-12 90 views
0

我是C#的新手,所以我不知道JSON如何在C#中解析。所以我使用JSON.net的时刻,所以这是我得到:用JSON.NET解析JSON文件

WebClient c = new WebClient(); 
var data = c.DownloadString("http://media1.clubpenguin.com/play/en/web_service/game_configs/furniture_items.json"); 
JObject o = JObject.Parse(data); 
button3.Text = "" + o["furniture_item_id"]; 

是否有任何其他的方法来分析与JSON URL JSON文件?

+3

那么你得到的代码有什么错误*你希望它做什么不同? –

+0

该代码无效:http://prntscr.com/39dmn7 http://prntscr.com/39dmr1 – user3334215

+2

与链接到屏幕截图不同,请在问题中包含错误消息*作为文本*。请阅读http://tinyurl.com/so-hints和http://tinyurl.com/so-list,了解一个很好的问题。 –

回答

0

尝试

WebClient client = new WebClient(); 
string getString = client.DownloadString("http://media1.clubpenguin.com/play/en/web_service/game_configs/furniture_items.json"); 


JavaScriptSerializer serializer = new JavaScriptSerializer(); 
var listOfFurniture = serializer.Deserialize<List<Furniture>>(getString); 


public class Furniture 
{ 
    public int furniture_item_id { get; set; } 
} 

存在由Web客户端返回许多furniture_item_id的。我创建了一个拥有该值的简单对象。 'listOfFurniture'是一个家具类型列表。

+0

对不起,但我怎么才能使用这个JSON文件获得“furniture_item_id”? – user3334215

+0

下来选民可以提供一个理由 – gb1986

+0

如何获得身份证?像这样:listOfFurniture [1]? – user3334215

0
dynamic json = JsonConvert.DeserializeObject(data); 

然后,您可以使用索引或键来访问json为数组:

var someval = json["furniture_item_id"]; 

注: 如果该请求没有成功,因此你没有任何响应解析,这可能会最终在JsonParseException,所以你可能想要抓住这一点。