使用json.simple将字符串转换为JSON对象

20

我正在使用 org.json.simple.JSONObject。 我想将 string 转换为 Json object

String value=request.getParameter("savepos");
JSONObject jsonObject = (JSONObject) JSONValue.parse(value);

它不起作用。为什么?


3
“但没成功”无法告诉我们任何关于故障模式的信息。value的值是多少?你尝试的代码会发生什么? - Jon Skeet
“savepos” 是否是格式正确且非空的 JSON? - Tank
如何将Java对象(Sample s = new Sample())转换为JSON字符串? - Ghost Rider
https://dev59.com/5W435IYBdhLWcg3wuiqz#59175182 - Anzar Ansari
4个回答

67

试一下这个:

JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(stringToParse);

19
有多个JSON解析库,提供库名称会更有帮助。 - Menuka Ishan
2
如何将Java对象(Sample s = new Sample())转换为JSON字符串? - Ghost Rider
这里应该是使用了json.simple解析器。 - Mukit09
1
@MenukaIshan 你可以从 org.json.simple.parser.JSONParser 导入 json-simple 的解析器。 - ado387
1
为什么所有的例子都这么有限和不完整?没有导入命名空间,方法似乎需要一个try-catch块,也没有示例如何转换回字符串...感谢这个想法,但如果您只是完成了这个想法,它可能会更有帮助。 - barrypicker

7
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(value);

应该做这项工作。

1
使用org.json.simple.JSONObject将String转换为Json对象
private static JSONObject createJSONObject(String jsonString){
    JSONObject  jsonObject=new JSONObject();
    JSONParser jsonParser=new  JSONParser();
    if ((jsonString != null) && !(jsonString.isEmpty())) {
        try {
            jsonObject=(JSONObject) jsonParser.parse(jsonString);
        } catch (org.json.simple.parser.ParseException e) {
            e.printStackTrace();
        }
    }
    return jsonObject;
}

-2
在更新的 com.github.cliftonlabs.json_simple 中,代码如下:
JsonObject obj = Jsoner.deserialize(responseString, new JsonObject());

正如该项目的API文档所记录的那样


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接