2014-04-12 121 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,所以你可能想要抓住這一點。