我有一个需要序列化为 JSON 的 XML 文档。在我的 handlebars.js 在“each”表达式上失败之前,我一切正常(或者我认为是这样)。我已将问题缩小到使用 JSON.NET 进行的 xml > json 转换。有时可能有多个子元素的元素在转换为 json 时呈现为单个元素(而不是数组)。文档指出我必须向节点添加一个属性 (json:Array="true") 以使其始终呈现为数组(这将不再破坏我的把手)。
我要做的第一件事是将命名空间添加到我的 XML 文档 ( http://james.newtonking.com/projects/json )。
然后我遍历每个节点并对其进行测试以查看我是否需要对其进行排列然后添加属性。
//Pseudo code
foreach(XmlNode node in list)
{
XmlAttribute attr = originalDoc.CreateAttribute(@"json:Array");
if(node.Name == "needsToBeAnArray")
{
node.Attributes.Append(attr);
}
}
然后我将文档保存到内存流中并将其重新加载到新的 XmlDocument 对象中。
然而,我得到的结果 json 看起来像这样:
{"@Array":"true","item":[{"subitem":"foo", "subitem2":"foo2"}]}
根据我对 JSON.NET 文档的理解,它应该只是呈现为一个数组(不显示这个“@Array”的东西)。有没有人遇到过这个问题?