Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建在S&;中返回json而不是xml的演示模板模拟;P_Json_Templates_Aem_Search And Promote - Fatal编程技术网

如何创建在S&;中返回json而不是xml的演示模板模拟;P

如何创建在S&;中返回json而不是xml的演示模板模拟;P,json,templates,aem,search-and-promote,Json,Templates,Aem,Search And Promote,在搜索和升级中,我有一个响应xml的演示模板 现在我需要得到json格式的响应。很难找到json的xml标记的类似物,因为这个模板非常庞大 还有更优雅的方式吗 首先,您可以为标准普尔中的json响应创建自定义模板。 请参阅当前的文档和文档 或者,您可以通过创建一个servlet来实现这一点,该servlet将使用response.xml并以json格式为您提供响应 要将XML文件转换为JSON,请包含以下依赖项 <dependency> <groupId>org.

在搜索和升级中,我有一个响应xml的演示模板

现在我需要得到json格式的响应。很难找到json的xml标记的类似物,因为这个模板非常庞大


还有更优雅的方式吗

首先,您可以为标准普尔中的json响应创建自定义模板。 请参阅当前的文档和文档

或者,您可以通过创建一个servlet来实现这一点,该servlet将使用response.xml并以json格式为您提供响应

要将XML文件转换为JSON,请包含以下依赖项

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20140107</version>
</dependency>

org.json
json
20140107
然后实施为:

String xmlString = "<xml>yourStringURLorFILE</xml>";
JSONObject jsonObject = XML.toJSONObject(xmlString);
System.out.println(jsonObject);
String xmlString=“yourStringURLorFILE”;
JSONObject JSONObject=XML.toJSONObject(xmlString);
System.out.println(jsonObject);
Java中JSON的唯一问题是,如果XML只有一个子元素,但它是一个数组,那么它将把它转换成一个对象而不是数组。如果您总是动态地从XML转换为JSON,这可能会导致问题,如果示例XML只有一个元素,则返回一个对象;如果它有2+,则返回一个数组,这可能会导致使用JSON的人出现解析问题。
这可以通过编写一个“convertToArray()”方法来解决,该方法返回一个包含单个对象的数组。所以,您可以始终相信您的值是一个数组。

答案的第一部分与我的问题更相关