Json.NET(ASP.NET MVC 4のデフォルトのJSONシリアライザーでもあります)とそのJsonWriter
:を使用することをお勧めします。
StringWriter errorsStringWriter = new StringWriter();
JsonWriter errorsJsonWriter = new JsonWriter(jsonStringWriter);
errorsJsonWriter.WriteStartObject();
errorsJsonWriter.WritePropertyName("fieldname");
errorsJsonWriter.WriteValue("some error for fieldname");
errorsJsonWriter.WritePropertyName("fieldname2");
errorsJsonWriter.WriteValue("some error for fieldname2");
...
errorsJsonWriter.WriteEndObject();
errorsJsonWriter.Flush();
この方法で生成されたJSONを次のように返すことができますContentResult
:
return Content(errorsStringWriter.GetStringBuilder().ToString(), "application/json");
アップデート
Json.NETは、を介して動的JSONもサポートしますJObject
。その場合、コードは次のようになります。
var jsonObject = new JObject();
jsonObject.Add("fieldname", "some error for fieldname");
jsonObject.Add("fieldname2", "some error for fieldname2");
...
この場合の作成ContentResult
は次のようになります。
return Content(jsonObject.ToString(Newtonsoft.Json.Formatting.None), "application/json");