C# json.NET中的序列化不会';行不通
有人能告诉我为什么这个代码不起作用吗?C# json.NET中的序列化不会';行不通,c#,.net,json,serialization,C#,.net,Json,Serialization,有人能告诉我为什么这个代码不起作用吗? 没有行serializer.Serialize(jw,newbool[]{…})一切正常。出现异常的原因是您告诉编写器您将编写一个对象,并且正在编写一个数组。试着这样做: JsonSerializer serializer = new JsonSerializer(); jw.WritePropertyName("info"); serializer.Serialize(jw, res); if (res[2] == true) { jw.Wri
没有行
serializer.Serialize(jw,newbool[]{…})代码>一切正常。出现异常的原因是您告诉编写器您将编写一个对象,并且正在编写一个数组。试着这样做:
JsonSerializer serializer = new JsonSerializer();
jw.WritePropertyName("info");
serializer.Serialize(jw, res);
if (res[2] == true)
{
jw.WritePropertyName("healer"); jw.WriteStartObject();
jw.WritePropertyName("running");
jw.WriteValue(res[1] == true ? (checkBox1.IsChecked == true ? true : false) : false);
jw.WritePropertyName("main"); jw.WriteStartObject();
serializer.Serialize(jw, new bool[] { true, true, true, true, true, true });
jw.WriteEndObject(); // here
jw.WriteEndObject();
}
jw.WritePropertyName("healer");
jw.WriteStartObject();
jw.WritePropertyName("running");
jw.WriteValue(res[1] == true ? (checkBox1.IsChecked == true ? true : false) : false);
jw.WritePropertyName("main");
serializer.Serialize(jw, new bool[] { true, true, true, true, true, true });
jw.WriteEndObject();
或者像这样的替代方案:
JsonSerializer serializer = new JsonSerializer();
jw.WritePropertyName("info");
serializer.Serialize(jw, res);
if (res[2] == true)
{
jw.WritePropertyName("healer"); jw.WriteStartObject();
jw.WritePropertyName("running");
jw.WriteValue(res[1] == true ? (checkBox1.IsChecked == true ? true : false) : false);
jw.WritePropertyName("main"); jw.WriteStartObject();
serializer.Serialize(jw, new bool[] { true, true, true, true, true, true });
jw.WriteEndObject(); // here
jw.WriteEndObject();
}
jw.WritePropertyName("healer");
jw.WriteStartObject();
jw.WritePropertyName("running");
jw.WriteValue(res[1] == true ? (checkBox1.IsChecked == true ? true : false) : false);
jw.WritePropertyName("main");
serializer.Serialize(jw, new bool[] { true, true, true, true, true, true });
jw.WriteEndObject();
请发布带有堆栈跟踪的错误消息为什么不简单地使用JsonConvert.SerializeObject(obj)
请不要像这样发布问题的更新。在对原始问题的编辑中包含异常文本和堆栈跟踪。如果链接断开,这个问题对任何未来的查找者来说都会变得不那么有价值。=)