json与java对象转换的问题 5C

请问一下这样的json字符串如何转化为java对象呢? json字符串: "{"post":{"userId":"1","postId":"2"}}" 如果post后面是一个json字符串,那一点问题都没有,但是post后面是一个json对象,这要怎么解析呢?我的javabean是Post。求大神帮忙~

10个回答

Json是标记语言,到任何语言,都需要一个解析的过程。解析后,再通过语言,或者系统的功能完成Post的功能。

91program
91program Json开源解析的项目很多,网上应该有现成的
4 年多之前 回复

试试用开源的gson解析一下,或者如果你不嫌麻烦,就自己写程序一点一点的解析,因为本身你的这个json最外层是可以当成一个key是post,
value是后面那一串的map,然后就得到value,再把value解析就可以。
不过建议用gson。

那就在Post里面再封装一个对象,userId和postId

你可以参考我之前写的一个JSON到Bean等装的工具类,可以轻松实现数据的封装。
http://m.blog.csdn.net/article/details?id=50495677

可以借助fastjson来解析

使用Google的gjson比较简单,提供两个参数,分别是json字符串以及需要转换对象的类型。使用fromjson方法即可

 public void insertPosition() {

        String result="";
        try {
            result = URLConnection.getURLReturnData("http://115.28.170.103:8080/AQI/?appid=33da336aa12544bd&key=YDyLlhANb1o9ACyFdUnSdFoqMvI%3D");
        } catch (Exception e) {
            System.out.println("网络连接失败");
            logger.error("网络连接失败");
        }
        JSONArray retData = (JSONArray) JSONObject.fromObject(result).get(
                "data");
        totalSize=retData.size();
        for (int i = 0; i < retData.size(); i++) {
            Ysm_Data ysm_Data = (Ysm_Data) JSONObject.toBean(
                    (JSONObject) retData.get(i), Ysm_Data.class);

            Ysm_Position ysm_Position = new Ysm_Position(
                    ysm_Data.getStation_code(), ysm_Data.getPosition_name(),
                    ysm_Data.getLon(), ysm_Data.getLat());

            Ysm_Position ysmPotition=positionService.insertPosition(ysm_Position);
            Ysm_Position_Info ysm_Position_Info = new Ysm_Position_Info(ysmPotition.getId(),
                    ysm_Data.getCo(), ysm_Data.getPm10(),
                    ysm_Data.getQuality(), ysm_Data.getArea(),
                    ysm_Data.getO3(), ysm_Data.getSo2(), ysm_Data.getNo2(),
                    ysm_Data.getTime_point(), ysm_Data.getAqi(),
                    ysm_Data.getPrimary_pollutant(), ysm_Data.getPm25());
            position_InfoService.insertPosition_Info(ysm_Position_Info);

        }

    }

这段代码对你应该有帮助__ 我要分

JSONObject.toBean(
(JSONObject) retData.get(i), Ysm_Data.class);

JSONArray retData = (JSONArray) JSONObject.fromObject(result).get(
"data");

主要是这两句代码!!!望采纳!!!!!!

Gson gson = new Gson();
String result = gson.toJson(json);
Bean bean = gson.fromJson(result,Bean.class);
String a = bean.get....

在封装一个对象,里面包含了userId、postID。然后post对象里包含对这个对象的引用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐