永发信息网

java json处理 怎么样遍历未知key 具体 看代码

答案:2  悬赏:40  手机版
解决时间 2021-03-12 15:48
  • 提问者网友:锁深秋
  • 2021-03-12 11:06
java json处理 怎么样遍历未知key 具体 看代码
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-03-12 11:45
你用的是什么工具的啊Jackson还是fastjson还是别的追问给个代码 只要java能实现 就好追答
public static void main(String[] args) {
        String str="{"shop_json":{"sub0":["a0,b2","红米","699","10","图片1~图片2~"],"sub1":["a0,b3","黑米","799","10","嘿米图1~"]}}";
        JSONObject jo=JSON.parseObject(str);
        JSONObject shop=jo.getJSONObject("shop_json");
        Set keys=shop.keySet();
        for(String kk:keys){
            System.out.println(kk+"----------------");
            JSONArray ja=shop.getJSONArray(kk);
            for(int i=0;i                System.out.println(ja.get(i));
            }
        }
    }//fastjson实现的
追问这个包 牛叉 只能一个人给分。。。 对不起楼上了(lzs丶灬)
全部回答
  • 1楼网友:轻雾山林
  • 2021-03-12 12:40
你使用是什么json的jar包啊
如果你的json是直接实现map的,直接通过迭代器访问啊
··说错了
是org.json不是实现map的但是它有一个获取迭代器的方法啊追问给个代码 只要java能实现 就好追答String str="{"shop_json":{"sub0":["a0,b2","红米","699","10","图片1~图片2~"],"sub1":["a0,b3","黑米","799","10","嘿米图1~"]}}";
JSONObject json = new JSONObject(str);
JSONArray ja = json.getJSONObject("shop_json").getJSONArray("sub0");
for (int i = 0; i < ja.length(); i++) {
System.out.println(ja.get(i));
}

追问哥们 我现在遇到的问题是 sub0 是动态生成的 不能写死
shop_json里面有多少个 sub 都不知道 只能迭代这个 然后获取内容
帮我改一下 结贴+50分追答String str="{"shop_json":{"sub0":["a0,b2","红米","699","10","图片1~图片2~"],"sub1":["a0,b3","黑米","799","10","嘿米图1~"]}}";
JSONObject json = new JSONObject(str).getJSONObject("shop_json");
Iterator iter = json.keys();
while(iter.hasNext()){
Object jo = iter.next();
if(jo instanceof JSONArray){
JSONArray ja = (JSONArray)jo;
for (int i = 0; i < ja.length(); i++) {
System.out.println(ja.get(i));
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯