JSONObject会累积并转换这个" []"字符串到数组

时间:2017-09-25 12:55:28

标签: java arrays json

请查看以下代码段。

密钥'样本的价值'是字符串"[]"

put& accumulate个函数正在将其转换为空数组[]

import net.sf.json.JSONObject;

public class sample {
    public static void main(String[] args){

        JSONObject resObj = new JSONObject();
        resObj.put("sample","[]");
        System.out.println(resObj);

    }
}

输出:

{"sample":[]}

我想要值(" []")。 像:

{"sample":"[]"}

如何解决此问题?

更新

以上示例仅用于解释问题。

实际上,从一个大的XML我生成一个JSON。 在生成的JSON中没有问题。

传递整个JSON字符串以累积&把功能面临这个问题。

2 个答案:

答案 0 :(得分:0)

您正在使用的json-lib库是一个相当古老的实现,请尝试“官方”org.json,可以找到here并使用maven

<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20170516</version>
</dependency>

然后

import org.json.JSONObject;
System.out.println( new JSONObject().put("sample","[]"));

将正确输出

{"sample":"[]"}

答案 1 :(得分:0)

你可以使用Google json library

它适用于我,输出为{"sample":"[]"}