2013-08-08 15 views
11

Mam ciąg JSONKonwersja JSON ciąg C słowniku #

{ 
    "Date":"21/11/2010" 
    "name": "TEST" 
    "place":"xyz" 
} 

Chcę przekształcić go w słowniku C# bez korzystania z biblioteki strony trzeciej

+6

Możliwe, że możesz użyć drugiej strony. – lordkain

+8

Nie odrzucaj, ponieważ nie lubisz wyboru, aby nie używać bibliotek innych firm. Być może istnieje ku temu dobry powód. Wyjaśnij więc zanim sędziujesz – zewa666

+1

Nie, nie ma. Nie musisz wymyślać koła za każdym razem. Ale jeśli chce, to powinien pokazać nam swój wysiłek i dokładny problem. – jAC

Odpowiedz

24

Można to zrobić natywnie od .NET 3.5 z jsonserializer .

var jss = new JavaScriptSerializer(); 
var dict = jss.Deserialize<Dictionary<string,string>>(jsonText); 
var place = dict["place"]; // "xyz" 

Oto prosty poradnik dla przypadku: Quick JSON Serialization/Deserialization in C#

Wymaga odniesienia System.Web.Extensions. Jeśli nie możesz go znaleźć, Twój program prawdopodobnie używa szkieletu docelowego klienta. Użyj "pełnej" struktury docelowej.

+0

THX Xanat Jestem na moim smartfonie, więc edycja jest dość niewygodna. Dobra robota – zewa666

+2

która nie działa dla mnie (VS2010). łamie się z błędem "Nie zdefiniowano konstruktora bez parametrów dla typu" System.String "" – ekkis

+0

@ zewa666 Dzięki człowieku !! Spędziłem 4 godziny za tym i znalazłem bardzo dobre rozwiązanie. To rozwiązanie podąża za zleceniodawcą KISS. –