list对象和json字符串互转java demo
时间: 2023-09-18 22:10:22 浏览: 118
可以使用Java内置的Gson库来实现list对象和json字符串的互转。具体方法如下:
将list对象转换为json字符串:
```java
import com.google.gson.Gson;
List<Integer> myList = Arrays.asList(1, 2, 3, 4, 5);
Gson gson = new Gson();
String jsonStr = gson.toJson(myList);
System.out.println(jsonStr);
```
输出结果为:`[1,2,3,4,5]`
将json字符串转换为list对象:
```java
import com.google.gson.Gson;
import java.lang.reflect.Type;
import java.util.List;
String jsonStr = "[1,2,3,4,5]";
Gson gson = new Gson();
Type type = new TypeToken<List<Integer>>(){}.getType();
List<Integer> myList = gson.fromJson(jsonStr, type);
System.out.println(myList);
```
输出结果为:`[1, 2, 3, 4, 5]`
相关问题
java把list转成json
要将一个 List 转换成 JSON 格式,可以使用 JSON 库,例如 Google 的 Gson 库。
首先,需要将 List 转换成 Java 对象的数组,然后再将数组转换成 JSON 字符串。
以下是示例代码:
```java
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) {
// 创建一个 List 对象
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 将 List 转换成 Java 对象的数组
String[] array = list.toArray(new String[list.size()]);
// 将数组转换成 JSON 字符串
Gson gson = new Gson();
String json = gson.toJson(array);
// 打印 JSON 字符串
System.out.println(json);
}
}
```
输出结果为:
```
["apple","banana","orange"]
```
注意,此处将 List 转换成了数组,而不是直接将 List 转换成 JSON 字符串。如果你希望直接将 List 转换成 JSON 字符串,可以使用以下代码:
```java
String json = gson.toJson(list);
```
但是需要注意的是,这种方法会将 List 转换成 JSON 数组,而不是一个 JSON 对象。如果你希望得到一个 JSON 对象,可以将 List 转换成一个包含一个属性的 Java 对象,例如:
```java
class MyObject {
private List<String> list;
public MyObject(List<String> list) {
this.list = list;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}
// ...
MyObject obj = new MyObject(list);
String json = gson.toJson(obj);
```
这样就可以得到一个包含一个属性的 JSON 对象:
```
{"list":["apple","banana","orange"]}
```
现有json字符串 String x ="[{\"a\":1,\"b\":2},{\"a\":3,\"b\":4}]",写出代码解析该字符串并在控制台打印出0:a+b=3 1:a+b=7
可以使用 JSON 库来解析 JSON 字符串,Java 中常用的 JSON 库有 Jackson、Gson 等。下面是使用 Gson 库来解析该字符串的示例代码:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;
public class Demo {
public static void main(String[] args) {
String x = "[{\"a\":1,\"b\":2},{\"a\":3,\"b\":4}]";
Gson gson = new Gson();
List<Data> dataList = gson.fromJson(x, new TypeToken<List<Data>>(){}.getType());
int sumA = 0;
int sumB = 0;
for (int i = 0; i < dataList.size(); i++) {
Data data = dataList.get(i);
sumA += data.a;
sumB += data.b;
System.out.println(i + ": a b=" + (data.a + data.b));
}
System.out.println("sumA=" + sumA + ", sumB=" + sumB);
}
private static class Data {
private int a;
private int b;
}
}
```
运行上述代码,输出结果为:
```
0: a b=3
1: a b=7
sumA=4, sumB=6
```
其中,`Data` 类用来表示 JSON 中的每个对象,使用 `gson.fromJson()` 方法将 JSON 字符串转换为 `List<Data>` 对象。然后遍历 `List`,计算每个对象中 `a` 和 `b` 的和,并输出结果。
阅读全文
相关推荐















