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丶灬)
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
for(String kk:keys){
System.out.println(kk+"----------------");
JSONArray ja=shop.getJSONArray(kk);
for(int i=0;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));
}
}
}
如果你的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));
}
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));
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯