Java中如何从JSON对象获取price_currency字段值?
获取Style中Prices数组的price_currency字段值
你已经成功从JSON数据里提取出了styles和style的内容,不过要注意哦——style其实是一个JSON数组(看它外层的[]就能看出来),所以得用数组的方式来处理,才能拿到里面prices数组里的price_currency值。
咱们一步步来处理:
先把你拿到的
sc1(也就是style的字符串)转换成JSONArray,因为它是多个style对象的集合:JSONArray styleArray = new JSONArray(sc1);遍历这个数组里的每一个style对象:
for (int i = 0; i < styleArray.length(); i++) { JSONObject styleObj = styleArray.getJSONObject(i);从每个style对象里取出
prices数组(同样,prices也是数组结构):JSONArray pricesArray = styleObj.getJSONArray("prices");再遍历
prices数组,就能拿到每个price对象里的price_currency字段值了:for (int j = 0; j < pricesArray.length(); j++) { JSONObject priceObj = pricesArray.getJSONObject(j); String priceCurrency = priceObj.getString("price_currency"); // 这里可以打印或者使用这个值,比如: System.out.println("Price Currency: " + priceCurrency); } }
把这些步骤整合起来,完整的代码大概是这样:
// 你已有的代码 JSONObject json = new JSONObject(output); String sc = json.get("styles").toString(); JSONObject json1 = new JSONObject(sc); String sc1 = json1.get("style").toString(); // 新增的处理代码 JSONArray styleArray = new JSONArray(sc1); for (int i = 0; i < styleArray.length(); i++) { JSONObject styleObj = styleArray.getJSONObject(i); JSONArray pricesArray = styleObj.getJSONArray("prices"); for (int j = 0; j < pricesArray.length(); j++) { JSONObject priceObj = pricesArray.getJSONObject(j); String priceCurrency = priceObj.getString("price_currency"); // 按需使用这个值,比如输出或者存储 System.out.println("Style " + (i+1) + " - Price Currency: " + priceCurrency); } }
这样就能顺利获取到每个style下prices数组里的price_currency值啦~
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

