我有一个json数组需要添加内容,然后将其写入文件。我可以轻松地将内容添加到该数组中,但是使用JsonSerializer.Serialize方法写入文件时会出现异常:
ArgumentException: 无法将Newtonsoft.Json.Linq.JObject添加到Newtonsoft.Json.Linq.JObject。
这发生在下面代码的最后一行上:"jSerializer.Serialize(o.CreateWriter(), o);"
JSON
ArgumentException: 无法将Newtonsoft.Json.Linq.JObject添加到Newtonsoft.Json.Linq.JObject。
这发生在下面代码的最后一行上:"jSerializer.Serialize(o.CreateWriter(), o);"
JSON
{
"ArrayToManipulate":
[
{
"Name":"Value"
},
{
"Name":"value"
}
]
}
操作JSON对象的代码
JContainer o = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
JArray x = (JArray)o["ArrayToManipulate"];
ContentObject newObject = new ContentObject(){Name="Value"};
JToken tokenToAdd = JToken.Parse(JsonConvert.SerializeObject(newObject, Formatting.Indented));
x.Add(tokenToAdd);
JsonSerializer jSerializer = new JsonSerializer();
jSerializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
jSerializer.Serialize(o.CreateWriter(), o);
我是不是在错误的方式下处理这个问题?