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

Stringstr="{\"shop_json\":{\"sub0\":[\"a0,b2\",\"红米\",\"699\",\"10\",\"图片1~图片2~\"],\"... String str="{\"shop_json\":{\"sub0\":[\"a0,b2\",\"红米\",\"699\",\"10\",\"图片1~图片2~\"],\"sub1\":[\"a0,b3\",\"黑米\",\"799\",\"10\",\"嘿米图1~\"]}}";

通过json.get("shop_json").得到shop_json内容

现在要遍历里面的子内容,
先取出sub0(这个是动态的)
输出
a0,b2
红米
699
10
图片1~图片2~
再取出sub0
展开
 我来答
lzs丶灬
2016-12-05 · TA获得超过632个赞
知道小有建树答主
回答量:881
采纳率:100%
帮助的人:516万
展开全部
你使用是什么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));
}


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
distancelife
2016-12-05 · TA获得超过228个赞
知道小有建树答主
回答量:139
采纳率:40%
帮助的人:32.5万
展开全部
你用的是什么工具的啊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<String> keys=shop.keySet();
        for(String kk:keys){
            System.out.println(kk+"----------------");
            JSONArray ja=shop.getJSONArray(kk);
            for(int i=0;i<ja.size();i++){
                System.out.println(ja.get(i));
            }
        }
    }

//fastjson实现的

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式