0

我有这样的 JSON 代码:

[{ "idShipping":"1328448569",
   "shippingDesti":"nusa tenggara barat",
   "shippingCosts":"21000"
 },
 { "idShipping":"1328448543",
   "shippingDesti":"nusa tenggara timur",
   "shippingCosts":"76000"
 }]

我遵循此链接中的教程:BlackBerry read json string from an URL。我变了

private static final String NAME = "name";

从 DataParser.java 到

private static final String NAME = "idShipping";

但是当我在模拟器上运行它时,它显示了一个弹出屏幕,说它无法解析来自 MyScreen.java 的数据。这意味着我可以获得 JSON 字符串,但无法解析它。

我如何解决它?

4

1 回答 1

0

对于您显示的 JSON,您将解析如下idShipping值:

  //String response = "[{\"idShipping\":\"1328448569\",\"shippingDesti\":\"nusa tenggara barat\",\"shippingCosts\":\"21000\"},{\"idShipping\":\"1328448543\",\"shippingDesti\":\"nusa tenggara timur\",\"shippingCosts\":\"76000\"}]";
  try {
     JSONArray responseArray = new JSONArray(response);
     for (int i = 0; i < responseArray.length(); i++) {
        JSONObject nextObject = responseArray.getJSONObject(i);
        if (nextObject.has("idShipping")) {
           String value = nextObject.getString("idShipping");
           System.out.println("next id is " + value);
        }
     }
  } catch (JSONException e) {
     // TODO: handle parsing error here
  }

正如 Signare 所说,关键是解析 a JSONArray,然后从中获取一个字符串值。

于 2013-06-25T10:15:50.127 回答