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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中把json怎么转换成数组?相关的知识,希望对你有一定的参考价值。

使用原生的解析:

String json = "...";

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

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

obj = array.getJSONObject(j);

Data data = new Data();

mDataList.add(data);

数组声明

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

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

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

参考技术A

java中把json怎么转换成数组的方法:

1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < 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

java 

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

参考技术B 有两种方法实现:
(1)直接转换:
创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:
//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。
ArrayList<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 3; i++)
persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合

JSONArray array = new JSONArray();// Json格式的数组形式
JSONObject obj;//json格式的单个对象形式
for (int i = 0; i < persons.size(); i++)
obj = new JSONObject();
//依次填充每一个Java实体对象
try
obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充
obj.put("sex", persons.get(i).getSex());
obj.put("married", persons.get(i).getMarried());
obj.put("address", persons.get(i).getAddress());
array.put(obj);//将JSONObject添加入JSONArray
catch (JSONException e)
e.printStackTrace();


(2)通过GSON工具实现:
只需要创建GSON对象,通过toJson方法转换即可。如例:
//模拟Java数据
Person person = new Person("敏敏", 23, "女", "北京市海淀区");
//创建GSON对象
Gson gson = new Gson();
//调用toJson方法即可转换为字符串的json格式
String json = gson.toJson(person);
参考技术C 1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < 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
参考技术D

有两种方法实现:
(1)直接转换:创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,

如例://假如有一个Java实体类Person,包括以下属性:phone、sex、married、address,ArrayList<Person> persons = new ArrayList<Person>,for (int i = 0; i < 3; i+++persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合

JSONArray array = new JSONArray();// Json格式的数组形式JSONObject obj;//json格式的单个对象形式   for (int i = 0; i < persons.size(); i++) obj = new JSONObject();

//依次填充每一个Java实体对象
tryobj.put("phone",persons.get(i).getPhone());//json通过put方式以key-value形式填充obj.put("sex", persons.get(i).getSex());obj.put("married",persons.get(i).getMarried());obj.put("address",persons.get(i).getAddress());array.put(obj);

//将JSONObject添加入JSONArray catch (JSONException e)e.printStackTrace();

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。

如例:

//模拟Java数据Person person = new Person("敏敏", 23, "女", "北京市海淀区");

//创建GSON对象Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式String json = gson.toJson(person);

以上是关于java中把json怎么转换成数组?的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么把数据转换成Json数据

java中把String类型数组转换成int型数组怎么做?

java中Date转换成JSON出错如何解决?

JAVA中怎么把字符串转换成字符数组

怎么把一个对象转换成json对象

java中怎么将JSON字符串转换成二维数组啊?