Mam ciąg JSON. Muszę w nim wymienić kilka wartości. Robię to w ten sposób:

string jsonString = "{\"id\": \"5281959998_126883980715630\", \"name\": \"The New York Times\", \"category\": \"Company\"}";
JObject jObj = JObject.Parse(jsonString);
jObj["category"] = "inc";
string strJson = jObj.ToString();

Ale to nie działa poprawnie! Symbole „\r\n” pojawiają się po każdej parze klucz-wartość. Co ja robię źle? Jak mogę zapobiec pojawianiu się tych symboli?

3
Sergey Shafiev 27 wrzesień 2012, 15:30

2 odpowiedzi

Najlepsza odpowiedź

Używając ToString() nie możesz zmienić tego zachowania. Jest udokumentowane, że ta metoda zwraca wcięcie JSON.

Zamiast tego musisz użyć przeciążenia :

var result = jObj.ToString(Formatting.None);
5
Daniel Hilgarth 27 wrzesień 2012, 15:35

W rzeczywistości z \r\n lub nie, są one prawidłowymi plikami json.

string strJson = jObj.ToString(Newtonsoft.Json.Formatting.None, null);
1
L.B 27 wrzesień 2012, 15:34