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>
ただし、返されるスキーマが 1 つしかない場合もあります。
<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);