我很难消耗一个以xml作为响应的api。我使用simplexml_load_string()将xml转换为php对象,然后使用json_encode()转换为json响应。当所有元素都填充如下
<content>
<row>
<column>
<item1>Item 1</item1>
<item2>Item 2</item2>
</column>
</row>
<row>
<column>
<item1>Item 1</item1>
<item2>Item 2</item2>
</column>
</row>
</content>
json响应将如下所示
{
"content": {
"row": [
{
"column": [
{
"item1": "Item 1",
"item2": "Item 2"
},
{
"item1": "Item 1",
"item2": "Item 2"
}
]
},
{
"column": [
{
"item1": "Item 1",
"item2": "Item 2"
},
{
"item1": "Item 1",
"item2": "Item 2"
}
]
}
]
}
}
但是当有一个空项目时,相应xml的json响应会因我的api而异。
<content>
<row>
<column>
<item1></item1>
<item2></item2>
</column>
</row>
<row>
<column>
<item1>Item 1</item1>
<item2>Item 2</item2>
</column>
</row>
</content>
对于上面的xml json响应将是
{
"row":[
{
"column":[
{
"item1":{
},
"item2":{
}
},
{
"item1":"Item 1",
"item2":"Item 2"
}
]
},
{
"column":[
{
"item1":"Item 1",
"item2":"Item 2"
},
{
"item1":"Item 1",
"item2":"Item 2"
}
]
}
]
}
与前一个不同。有关如何克服这个问题的任何帮助吗?