You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:00:32