Làm cách nào để tuần tự hóa một JObject mà không cần định dạng?


97

Tôi có một JObject(tôi đang sử dụng Json.Net) mà tôi đã xây dựng bằng LINQ thành JSON (cũng được cung cấp bởi cùng một thư viện). Khi tôi gọi ToString()phương thức trên JObject, nó xuất ra kết quả dưới dạng JSON được định dạng.

Làm cách nào để đặt định dạng thành "không" cho điều này?

Câu trả lời:


181

Gọi ToString(Formatting.None)phương thức của JObject .

Ngoài ra, nếu bạn truyền đối tượng vào phương thức JsonConvert.SerializeObject, nó sẽ trả về JSON mà không cần định dạng.

Tài liệu: Viết văn bản JSON bằng JToken.ToString


4
Điều đó có nghĩa là chuyển một JObjectđến SerializeObjectlà một trường hợp đặc biệt? Thay vì coi nó JObjectnhư một lớp C # bình thường và cố gắng nối tiếp các phần bên trong, jObject.ToString(...)thay vào đó nó sẽ làm gì đó như thế nào?
Adrian Ratnapala

35

Bạn cũng có thể làm như sau;

string json = myJObject.ToString(Newtonsoft.Json.Formatting.None);

40
Điều này có gì khác với gợi ý của James ở trên? James đã không bao gồm tham chiếu không gian tên đầy đủ và bạn đã làm - nếu không thì mã giống nhau, phải không?
Jazimov

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.