【发布时间】:2015-07-13 19:19:32
【问题描述】:
这是 JSON 字符串:
{"name":"Chris","home":[],"children":[{"name":"Belle"},{"name":"O"}]}
我通常像这样创建自定义对象:
public class Child
{
public string name { get; set; }
}
public class RootObject
{
[DataMember]
public string name { get; set; }
[DataMember]
public List<object> home { get; set; }
[DataMember]
public List<Child> children { get; set; }
}
但现在我不想让孩子成为列表,
我只想将孩子记录/序列化为字符串,而不是孩子。这意味着我只是不介意保留这部分:[{"name":"Belle"},{"name":"O"}] 作为字符串,而不是数组/列表。 p>
我该怎么做?我正在使用 DataContractJSONSeriliazer.ReadObject 方法。
【问题讨论】:
-
我无法为您提供
DataContractJSONSeriliazer的帮助,但我对 Newtonsoft JSON.net 也有类似的需求(保持 JSON 的某些部分不变)。在那里,我可以使用JObject或JArray类作为序列化目标来保持字段为纯JSON。也许你能找到类似的东西。 -
移除子节点作为序列化候选者,添加新属性 childrenstring 或类似名称,让 childrenstring 的 get 属性从子节点列表中返回一个字符串。
-
@KubaWyrostek,我不介意使用不同的库,有 JSON.net 的示例代码吗?我可能喜欢将字段保持为纯 JSON。谢谢!!哦,您的第二个建议链接并不是我所需要的,因为我必须解析孩子。我不需要解析孩子。
-
@TravisJ,听起来很有趣,你能提供工作示例代码吗?谢谢
标签: c# json serialization