Java 我想从json中提取数组值

Java 我想从json中提取数组值,java,json,Java,Json,上面是我的json字符串,我想提取Currency、Scaleprice、Priceunit的值,这是使用java的item数组的值。看起来它不是有效的json,因为数据似乎不在{或[ 您可以使用 { "data": { "tech-spec": "377.pdf", "additional-details": { "item": [ "Currency:GBP", "Scaleprice:", "Priceunit:" ]

上面是我的json字符串,我想提取Currency、Scaleprice、Priceunit的值,这是使用java的item数组的值。看起来它不是有效的json,因为数据似乎不在{或[

您可以使用

{
  "data": {
    "tech-spec": "377.pdf",
    "additional-details": {
      "item": [
    "Currency:GBP",
    "Scaleprice:",
    "Priceunit:"
      ]
    },
    "currency-code": "GBP"
  }
}

您正在使用哪个JSON库?大多数都有这样做的示例。您尝试过什么吗?请阅读这篇文章,告诉我错误org.JSON.JSONException:JSONObject[item]not found.fixed。请尝试理解代码,而不是复制/粘贴。
JSONObject jsonData= new JSONObject(data);
if (jsonData.has("data")) { 
   JSONObject json = new JSONObject(data.getString("data"));
   String tech-spec = json.getString("tech-spec");
   JSONObject additionalDetails = json.getJSONObject("additional-details");

   if (additionalDetails.has("item")) { 
   JONArray item = new JSONArray(additionalDetails.getString("item"));
   for (int i = 0; i <=  item.length(); i++) {
    JSONObject itemObj = new JSONObject(item.getJsonObject(i));
    String Currency = itemObj.getString("Currency");    
    // and the others,...
    }
   }
   String currencyCode = json.getString("currency-code");
 }