java中把json怎么转换成数组?

Python012

java中把json怎么转换成数组?,第1张

使用原生的解析:

String json = "..."

//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:

for (int j = 0j <array.length()j++) {

obj = array.getJSONObject(j)

Data data = new Data()

mDataList.add(data)

}

数组声明

在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

以上内容参考:百度百科-数组

1、使用原生的解析:

String json = "..."

JSONArray array= new JSONArray(json)

//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:

for (int j = 0j <array.length()j++) {

obj = array.getJSONObject(j)

Data data = new Data()

data.setThumbnail(obj.getString("thumbnail"))

data.setTitle(obj.getString("title"))

data.setUrl(obj.getString("url"))

mDataList.add(data)

}

2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

org.json.JSONObject

用这个就可以实现,你上网上找这个包就可以了,里面封装了一些方法,可以将一个JSON字符串转换为一个JSONObject对象,也可以反向操作,具体的你看下它的API就知道了。

不如你的这个字符串就可以这么实现

public static void main(String[] args) throws JSONException {

String sJson = "[{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'3','spsl':'4'}]"

JSONArray jsonArray = new JSONArray(sJson)

int iSize = jsonArray.length()

System.out.println("Size:" + iSize)

for (int i = 0i <iSizei++) {

JSONObject jsonObj = jsonArray.getJSONObject(i)

System.out.println("[" + i + "]gwcxxid=" + jsonObj.get("gwcxxid"))

System.out.println("[" + i + "]spsl=" + jsonObj.get("spsl"))

System.out.println()

}

}