json取数据怎么取?求json根据id取数据的java代码

发布于 2021-11-24 11:35:27 字数 1748 浏览 949 评论 10

{ "name": "DR", "value": "", "id": "2", "open": false, "icon": null, "children": [ { "name": "1", "value": "", "id": "3", "open": false, "icon": null, "children": [ { "name": "1.1", "value": "", "id": "4", "open": false, "icon": null, "children": [ { "name": "1.1.1", "value": "", "id": "5", "open": false, "icon": null, "children": [ { "name": "检查所见", "value": "1.1.1.1内容", "id": "6", "open": false, "icon": null, "children": null, "target": "", "pId": null, "url": null, "title": null }, { "name": "诊断意见", "value": "1.1.1.2内容", "id": "7", "open": false, "icon": null, "children": null, "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null }, { "name": "2", "value": "", "id": "8", "open": false, "icon": null, "children": [ { "name": "2.1", "value": "", "id": "9", "open": false, "icon": null, "children": [ { "name": "2.1.1", "value": "", "id": "10", "open": false, "icon": null, "children": [ { "name": "检查所见", "value": "2.1.1.1内容", "id": "11", "open": false, "icon": null, "children": null, "target": "", "pId": null, "url": null, "title": null }, { "name": "诊断意见", "value": "2.1.1.2内容", "id": "12", "open": false, "icon": null, "children": null, "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } ], "target": "", "pId": null, "url": null, "title": null } 其实是一个Ztree树用到的json! 数据很多,没全部弄出来 格式大概就是这个样, 比如这段json 我要根据id取到 value, 把value值传给前台弹出显示, 比如这段json里给后台传的id为11,value就是 2.1.1.1内容 就这样

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

泛泛之交 2021-12-01 06:50:33

你这个问题的关键不是如何解析JSON,而是取值方式不对。

你传给后台的id是11,那就在后台只取出该条记录就可以了,为什么还要把整个树形结构的数据都返回来呢。

檐上三寸雪 2021-12-01 06:37:49

引用来自“mklop2014”的评论

可以用Gson解析成指定对象

无人问我粥可暖 2021-12-01 05:44:28

引用来自“mklop2014”的评论

可以用Gson解析成指定对象

剑心龙吟 2021-12-01 05:35:30

我这是json里嵌套数组 反正各种嵌套的 要先一层层解析才行 好纠结额

明媚如初 2021-12-01 05:32:55
JSONObject msg = JSONObject.parseObject(message.toString()); 
 String cmid = (String) msg.get("chainMasterId"); 
String type = (String) msg.get(#6a8759;">"type")cc7832;">; 
String[] ids = msg.get(#6a8759;">"ids").toString().split(6a8759;">";");

自此以后,行同陌路 2021-12-01 05:07:14

像数据库那样 根据id查询 value 这种 先解析在根据id查 有类似的代码例子么 ?

凡尘雨 2021-11-30 15:31:32

回复
如果你传递过来的是标准的json格式,通过fastJson 是可以当成key-value取值的,就跟你用map是一样的

静谧 2021-11-30 05:06:35

有类似的代码例子么

刘备忘录 2021-11-29 22:50:54

alibaba 开源的fastjson 是可以的

瑾兮 2021-11-27 11:04:05
@Test
    public void test3() {
        String json = "上面的json串";
        JSONObject obj = JSON.parseObject(json);
        Map<String, String> map = new HashMap<String, String>();
        deal(obj, map);
        System.out.println(map);
    }

    public void deal(JSONObject obj, Map<String, String> map) {
        if (obj != null) {
            String id = obj.getString("id");
            String value = obj.getString("value");
            map.put(id, value);
            JSONArray children = obj.getJSONArray("children");
            if (children != null) {
                for (int i = 0; i < children.size(); i++) {
                    JSONObject child = children.getJSONObject(i);
                    deal(child, map);
                }
            }
        }
    }

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文