我有一个字符串。我正在将其转换为JSONOBJECT,我正在尝试根据密钥提取值。
JSON STRING:
jsonString="
{
\"AREA\": [\"IT,SALES\"],
\"CITY\": [\"LA\",\"NORTH\"]
}";
我希望" AREA"的值在一个字符串中,CITY在一个字符串中。我试过了:
JSONObject jsonOb = new JSONObject("jsonString");
String area = jsonOb.getString("AREA");
但我无法以这种方式检索值。需要一些建议。
答案 0 :(得分:2)
JSONArray area = (JSONArray) jsonObject.get("AREA");
Iterator<String> iterator = area.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
你应该得到一个JSONArray对象然后你可以简单地迭代并构建适当的字符串(使用StringBuilder)。
您可以参考this article获取进一步的帮助。
答案 1 :(得分:2)
您的数据有[]
,因此请使用getJSONArray("AREA")
,然后您可以对其进行迭代。
(该方法完全取决于你拥有的库)
答案 2 :(得分:2)
我相信这就是你所追求的:
String jsonString = "{\"AREA\": [\"IT,SALES\"],\"CITY\": [\"LA\",\"NORTH\"]}";
JSONObject jObj;
String areaString = "";
String cityString = "";
try
{
jObj = new JSONObject(jsonString);
areaString = jObj.getJSONArray("AREA").toString();
cityString = jObj.getJSONArray("CITY").toString();
}
catch (JSONException e)
{
e.printStackTrace();
}
System.out.println("areaString: " + areaString);
System.out.println("cityString: " + cityString);
答案 3 :(得分:2)
您试图直接访问Area
,而它是JSONArray
对象。
String json="{\"AREA\": [\"IT,SALES\"],\"CITY\": [\"LA\", \"NORTH\"]}";
JSONObject jsonOb = new JSONObject(json);
JSONArray arrJson=jsonOb.getJSONArray("AREA");
for(int i=0;i<arrJson.length();i++)
System.out.println(arrJson.getString(i));