【问题标题】:How to convert json formated java string to json object in controller如何将json格式的java字符串转换为控制器中的json对象
【发布时间】:2016-07-30 07:21:00
【问题描述】:

所有将字符串转换为 json 的示例都是 javascript。我的是java类。所以,我有一个简单的 java 字符串,但格式为 json。现在我已经从 jquery post 收到了。现在我必须将该字符串转换为 json 对象,以便我可以访问特定字段。

控制器类

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
    public void storeData(@RequestParam(value = "temp_str", required = false) String j_str, HttpServletRequest request) {


               // do the conversion and extraction of data from "j_str"


            }

j_str 变量正在接收此字符串

{"temp_data":[{"temp_email":"roykumarsuraj@gmail.com","temp_pwd":"abc123"}]}

【问题讨论】:

    标签: java jquery json spring-mvc


    【解决方案1】:

    http://www.javacreed.com/simple-gson-example/

    Gson gson = new GsonBuilder().create();
                Person p = gson.fromJson("your json string", Person.class);
                System.out.println(p);
    

    您可以使用该库来管理 json objectos,它非常酷 Person.class 是一个 java bean,必须具有字符串中的所有属性

    【讨论】:

    • 好的...我知道了 --- pojo.pojo@243ea18b ,,, 现在如何从中提取数据..
    • 啊,好吧,你可以重写方法toString,或者你可以获取一个属性,例如:System.out.println("My Name is:" + p.getName());如果您的 pojo 为 null 是因为您的字符串与 pojo 所需的 json 格式不匹配,则第一个响应意味着您的 pojo 对象已从 json 解析为 Object
    【解决方案2】:

    如果你的 Json 字符串非常简单,你可以使用:

    JSONObject jobj=new JSONObject(j_str);
    

    现在您可以通过以下方式访问 JSON 元素:

    JSONArray jarr=jobj.getJSONArray('temp_data');
    JSONObject jarr1=jarr.get(0);  // will contain {"temp_email":"roykumarsuraj@gmail.com","temp_pwd":"abc123"}
    

    现在你可以进一步访问类似于jobj的jarr1。

    【讨论】:

    • 它给出了错误,,语法错误,,,无法将 j_str 转换为 jobj,,我的 json 字符串发布在我的问题正文中。
    • 你能发布错误的确切措辞吗?并打印 j_str 以查看它是否类似于您的问题正文中的内容。
    • 构造函数 JSONObject 是类 JSONObject 不能应用于给定类型;
    • 修改你的导入语句为'import org.json.JSONArray;import org.json.JSONObject; '
    猜你喜欢
    • 2019-04-28
    • 2021-09-18
    • 1970-01-01
    • 2015-05-24
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多