在处理Json数据的时候,有时候会遇到诸如下面的数据:
{"areas":["上海","深圳","广州"],"error_msg":"success","error_code":"0"}
该Json中,areas字段的值为字符串形式的数组。一开始以为Java中会有直接方法可以将该字符串转为数组,没想到一直找不到办法,小小的问题困惑许久。当然要是选择使用GSON解析什么的可以忽略这个问题。后来从重新看了一下JSON包的一些方法,发现其实这个强大包里面已经给我们提供的该方法,具体的使用如下:
public static void main(String[] args){
String str="[\"上海\",\"深圳\",\"广州\"]";
try {
JSONArray arr=new JSONArray(str);
for(int i=0;i<arr.length();i++){
System.out.println(arr.getString(i));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
也就是其实JSONArray其实是将一个数组形式的字符串转为数组,然后可以使用get方法来得到各种类型的数据:
简单的方法,分享给大家。望不吝赐教!