2012-12-20 63 views
-1

我正在C#中工作。我想在我的應用程序中解析JSON。但不知道如何解析Json。我在Google上搜索了很多,但找不到足夠的材料。 我的JSON是..如何在C#.NET中解析Json

[{"id":"267","name":"Macmillan Nursing Service","telephone":"01595 743347", 
"addr1":"Gilbert Bain Hospital","town":"Shetland","postcode":"ZE1 0TB", 
"lat":"60.1505513","lng":"-1.1546642","distance":"3278.42778426762"}, 

{"id":"355","name":"Orkney Macmillan House","telephone":"01856 888249", 
"addr1":"Balfour Hosptial","town":"","postcode":"KW15 1BH","lat":"58.9767143", 
"lng":"-2.9649377","distance":"3421.52913012431"}, 

{"id":"57", 
"name":"Community Macmillan Nurse","telephone":"01779 482568", 
"addr1":"Peterhead Health Centre","town":"Peterhead", 
"postcode":"AB422XA","lat":"57.5034159","lng":"-1.7939854", 
"distance":"3425.64696427705"}, 

{"id":"287","name":"Macmillan 
Service","telephone":"01955 880397","addr1":"Caithness 
General Hospital","town":"Wick","postcode":"KW1 5NS","lat":"58.4415", 
"lng":"-3.09651","distance":"3452.34795736445"}, 

{"id":"288","name":"Macmillan Service", 
"telephone":"01888 564015","addr1":"The Health Centre","town":"Banff","postcode":"AB45 
1HY","lat":"57.6686963","lng":"-2.5256111","distance":"3457.45181828202"}] 

我被困在這項工作好心幫我..

任何幫助將是巨大的。或者關於如何解析Json的一點線索也就足夠了。

+2

你是什麼意思,「遠程」?在這種情況下什麼是本地和什麼是遠程? –

+0

「遠程解析JSON」是什麼意思?我認爲你的措辭可能會誤導,如果你想要做的是下載一個JSON字符串,然後在本地使用它... – ZombieSheep

+0

以及我只是想從互聯網訪問這個JSON這裏是鏈接..http:// www。 myhealthpal.com/charity_app/hospice.php?lat=57.155313&lan=57.155313&q=0 –

回答

2

看來你需要將JSON字符串反序列化爲一個對象。您可以創建一個代表對象的類,然後將json反序列化爲它。

喜歡的東西

class Information 
{ 
    int id; 
    string name; 
    string telephone; 
    // etc 
} 

然後再取消序列像這樣的東西

JavaScriptSerializer json_serializer = new JavaScriptSerializer(); 
// Using List<T> as the JSON is organised like an array 
List<Information> info = (List<Information >)json_serializer.DeserializeObject(JSONFeed); 

哪裏JSONFeed是從網站的JSON字符串。

如需更深入的研究,請參閱 - Tutorial on Code Project

+0

是的,這是我一直在尋找我已經做出了類,但無法知道如何從網站提取數據.. –

+0

thanx反正.. –

+0

你無法下載數據嗎?這是與你所問的不同的問題。 – Kami

3

使用輝煌的Json.net庫。

特點

Flexible JSON serializer for converting between .NET objects and JSON 
LINQ to JSON for manually reading and writing JSON 
High performance, faster than .NET's built-in JSON serializers 
Write indented, easy to read JSON 
Convert JSON to and from XML 
Supports .NET 2, .NET 3.5, .NET 4, Silverlight and Windows Phone 

串行器是一個不錯的選擇,當JSON你正在閱讀或書寫 緊密映射到.NET類。

的LINQ to JSON有利於你只從JSON 獲取值感興趣的地方的情況下,你沒有一類序列化或 反序列化或JSON是從你的類完全不同的, 你需要手動讀取和寫入對象。

+0

那麼這個答案似乎不夠。因爲我已經讀過它..我想要一個小編碼,如果有人可以... –

+0

@BurhanMughal這個答案不夠?你說你不知道如何解析JSON,Jakub提供了一個關於流行庫的信息,解析JSON。 –

+0

我正在尋找答案,就像來自Kami的答案.. Thanx無論如何Jakub .. –