我正在调用一个外部API,该API返回我的XML响应,但我想将其转换为json,以便前端可以使用它。
我尝试将请求标头设置为application / json,但似乎API仅返回XML。
答案 0 :(得分:0)
在这里回答类似的问题-convert-xml-to-json
试试
import org.json.XML;
然后使用
JSONObject jsonObject = XML.toJSONObject("<XMLStringValue>");
答案 1 :(得分:0)
我已经开源了一个名为unXml的库,该库可让您创建一个使用xml的解析器,并生成Jackson json ObjectNodes
或ArrayNodes
。
它在Maven Central上可用。
示例:
输入xml:
<root>
<id>1</id>
<title>mytitle</title>
</root>
用Java创建解析器:
import com.nerdforge.unxml.Parsing;
import com.nerdforge.unxml.factory.ParsingFactory;
...
public class MyController {
public ObjectNode getJsonFromXml(String inputXmlString) {
Parsing parsing = ParsingFactory.getInstance().create();
Document document = parsing.xml().document(inputXmlString);
Parser<ObjectNode> parser = parsing.obj("root")
.attribute("id", "id", parsing.number())
.attribute("title")
.build();
ObjectNode node = parser.apply(document);
return node;
}
}
给出以下json结果:
{
"id":1,
"title":"mytitle"
}
答案 2 :(得分:-1)
尝试使用此IT服务对我来说有用
header('Content-Type: application/xml');
$response=simplexml_load_string($response);