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

Posted

技术标签:

【中文标题】使用 json.simple 将字符串转换为 json 对象【英文标题】:Converting string to json object using json.simple 【发布时间】:2015-08-25 18:03:21 【问题描述】:

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

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

它不起作用。为什么?

【问题讨论】:

“但没有成功”并没有告诉我们任何有关失败模式的信息。 value 的值是多少?您尝试过的代码会发生什么情况? “savepos”的 JSON 和 !null 格式是否正确? 如何将Java对象(Sample s = new Sample())转换成JSON字符串? ***.com/questions/5245840/… 【参考方案1】:

试试这个:

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

【讨论】:

由于有多个 JSONParser 库,库名称会有所帮助 如何将Java对象(Sample s = new Sample())转成JSON字符串? 我猜这里用的是json.simple Parser。 @MenukaIshan 你可以从org.json.simple.parser.JSONParser导入json-simple的解析器 为什么所有的例子都如此有限和不完整?不包括导入命名空间,该方法似乎需要一个 try-catch 块,没有示例如何转移回字符串...感谢您的想法,但如果您只是完成了这个想法,它可能会更有帮助... 【参考方案2】:
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(value);

应该做的工作。

【讨论】:

【参考方案3】:

使用 org.json.simple.JSONObject 将字符串转换为 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;

【讨论】:

【参考方案4】:

在较新的com.github.cliftonlabs.json_simple 中,代码如下:

JsonObject obj = Jsoner.deserialize(responseString, new JsonObject());

如项目的API docs 中所述

【讨论】:

以上是关于使用 json.simple 将字符串转换为 json 对象的主要内容,如果未能解决你的问题,请参考以下文章

将 node.js 缓冲区转换为字符串,然后转换为 JSON

将node.js缓冲区转换为字符串,然后转换为JSON

将json-simple添加到类路径后仍然无法解析简单符号[重复]

Node.js - 如何将流转换为字符串

js 将json字符串转换为json兑现

js 将json字符串转换为json兑现