에서 작동하지 않는 JObject
(또는 JArray
) JSON 문자열을 가져옵니다.
JObject jo = new JObject();
jo.Add("foo", "bar");
jo.Add("fizz", "buzz");
JObject jo2 = new JObject();
jo2.Add("foo", "baz");
jo2.Add("fizz", "bang");
JArray ja = new JArray();
ja.Add(jo);
ja.Add(jo2);
string json = ja.ToString();
Console.WriteLine(json);
결과 JSON 출력 : 예를 들어 당신이 JObjects의 규칙적인 배열이있는 경우
[
{
"foo": "bar",
"fizz": "buzz"
},
{
"foo": "baz",
"fizz": "bang"
}
]
, 당신은 JsonConvert.SerializeObject()
에 전달할 수 있습니다 : 이것은 정확히 같은 JSON 제공
JObject[] arrayOfJObjects = new JObject[] { jo, jo2 };
json = JsonConvert.SerializeObject(arrayOfJObjects, Formatting.Indented);
Console.WriteLine(json);
위와 같이 출력하십시오.
JsonConvert.SerializeObject()
또한 하나의 JObject
에 잘 작동 :
json = JsonConvert.SerializeObject(jo, Formatting.Indented);
Console.WriteLine(json);
출력 :
{
"foo": "bar",
"fizz": "buzz"
}
편집
난 그냥 질문에 ASP.NET MVC 태그를 나타났습니다.
당신이 다음 아마도이 같은 일을 MVC 컨트롤러 메서드 내 경우 :
return Json(arrayOfJObjects);
작동하지 않습니다. 이것은 MVC가 JavaScriptSerializer
을 사용하기 때문입니다. Json.Net JObjects
에 대해 알지 못합니다. 당신이이 경우에해야 할 것은 내가 위에 나열된 방법 중 하나를 사용하여 JSON을 만드는 것입니다, 다음 사용하여 컨트롤러 메소드에서 반환이 같은 Content
방법 :
string json = JsonConvert.SerializeObject(arrayOfJObjects);
return Content(json, "application/json");
아마도 JsonConvert.Serialize (JObjects.ToString ()) 작동합니까? –