发现用单个项目和多个项目序列化 XML 对象给了我不同的格式,因此访问它会有所不同。
例如,对于单个项目:
{
"schemalist": {
"schema": {
"fieldid": "email",
"displayname": "email",
}
}
}
和
{
"schemalist": {
"schema": [
{
"fieldid": "name",
"displayname": "name",
},
{
"fieldid": "email",
"displayname": "email",
}
]
}
}
所以当我解析它们 jQuery.ParseJSON 时,我必须以不同的方式访问它们
schemalist.schema.fieldid 和 schemalist.schema[0].fieldid
有没有办法即使使用单个项目也可以转换为 json,所以我可以使用 schemalist.schema[0].fieldid 甚至跨单个、多个项目?
谢谢!
编辑:这是我的 xml 输入:
<schemalist>
<schema>
<fieldid><![CDATA[name]]></fieldid>
<displayname><![CDATA[name]]></displayname>
</schema>
<schema>
<fieldid><![CDATA[email]]></fieldid>
<displayname><![CDATA[email]]></displayname>
</schema>
但有时返回可能只有一个模式:
<schemalist>
<schema>
<fieldid><![CDATA[email]]></fieldid>
<displayname><![CDATA[email]]></displayname>
</schema>
</schemalist>
然后我会像这样进行转换:
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
return Newtonsoft.Json.JsonConvert.SerializeObject(doc);