Cab*_*ath 4 c# json properties linq-to-xml json.net
我正在使用 C#(ASP.Net、MVC)和 Newtonsoft 进行 JSON 序列化。我得到了一个 XDocument,就像下面我想要的 JSON 格式一样,用于视图。
<group>
<name>Group 1</name>
<description><p>Description</p></description>
<section>
..
</section>
<section>
..
</section>
</group>
Run Code Online (Sandbox Code Playgroud)
我有一个这样的扩展
private static readonly JsonSerializer jSerializer = JsonSerializer.Create(new JsonSerializerSettings {});
public static string ToJson(this object obj) {
using (StringWriter writer = new StringWriter()) {
jSerializer.Serialize(writer, obj);
return writer.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,描述被反序列化了,所以我有类似的东西
... "description": { "p": "Description Text" }
Run Code Online (Sandbox Code Playgroud)
当按原样发布时,它将显示为“[Object object]”。
帮助将不胜感激,最好的问候。
我添加这个答案是因为它在查找“c# convert xml to json XDocument”时的谷歌搜索排名。
string json = JsonConvert.SerializeXNode(xDocument);
Run Code Online (Sandbox Code Playgroud)
这个答案使用了更现代的XNodevsXmlNode
使用 Json.NET,您可以使用以下行将 XML 节点直接序列化为 JSON:
string json = JsonConvert.SerializeXmlNode(xmlNode);
Run Code Online (Sandbox Code Playgroud)
要让您XDocument看到XmlDocument这个问题:
将 XDocument 转换为 XmlDocument,反之亦然
然后,您可以使用转换后的XmlDocument参数作为 for 的参数SerializeXmlNode(),因为它继承自XmlNode。
| 归档时间: |
|
| 查看次数: |
11684 次 |
| 最近记录: |