服务器返回的json数据key不是合法的标识符,是以数字打头或者是纯数字作为key,我百思不得其解;终于,找到了解决方法,写在这里防止自己忘记了;
{"1":"颜色","2":"尺码"}例如该json字符串
JSONObject jsonObjName = new JSONObject(specNameString);// 得到 {"1":"颜色","2":"尺码"}对象 // jsonObjName的key迭代器 Iterator<?> itName = jsonObjName.keys();// 得到 规格名称的key集合 {"1":"颜色","2":"尺码"} while (itName.hasNext()) {// 遍历集合 也就是 1 2 ArrayList<Spec> list = new ArrayList<Spec>(); String specID = itName.next().toString();// 1 2 第一次获取到 1 String specName = jsonObjName.getString(specID);// 第一次得到1对应的值 颜色" 2 : 尺码 String specValueName = jsonObjValue.getString(specID);// 第一次得到1对应的值 : {"70":"03F中蓝色","71":"046橄榄绿"} // 商品规格的条目 } 如此就可以得到对应所有的值了;其实就是利用了迭代器获取到key集合;遍历集合获取值,只是小白的我真心没想到.
本文介绍了一种处理服务器返回的特殊格式JSON数据的方法,特别是当键为数字或以数字开头时。通过使用迭代器获取键集合并遍历这些键来访问对应的值。
16万+

被折叠的 条评论
为什么被折叠?



