list对象和json字符串互转java demo
时间: 2023-09-18 18:10:22 浏览: 47
可以使用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"]}
```
服务端接收 http请求 批量提交对象请求参数java demo
好的,以下是一个简单的Java Demo,演示如何批量提交对象请求参数:
```java
import java.net.*;
import java.io.*;
import java.util.*;
public class BatchRequestDemo {
public static void main(String[] args) throws Exception {
// 设置请求参数
List<User> userList = new ArrayList<User>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
userList.add(new User("Lucy", 22));
String json = new ObjectMapper().writeValueAsString(userList);
// 发送POST请求
URL url = new URL("http://localhost:8080/users");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write(json);
out.flush();
out.close();
// 获取响应结果
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuffer result = new StringBuffer();
while ((line = in.readLine()) != null) {
result.append(line);
}
in.close();
System.out.println(result.toString());
}
}
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
// 省略getter和setter方法
}
```
在上面的示例中,我们创建了一个包含多个用户信息的List对象,并将其转换为JSON格式的字符串,然后将其作为请求体发送到服务端。服务端接收到请求后,可以通过相应的框架将JSON字符串转换为Java对象,然后进行相应的业务处理。