不使用Gson库
时间: 2024-01-25 16:03:26 浏览: 31
如果不使用第三方库,可以使用Java原生的Json API来将List转换为Json字符串,示例代码如下:
```java
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
List<String> list = new ArrayList<>();
list.add("item1");
list.add("item2");
JSONArray jsonArray = new JSONArray(list);
String json = jsonArray.toString();
System.out.println(json);
```
输出结果为:
```
["item1","item2"]
```
其中,`JSONArray`类是Java原生的Json API中的一个类,可以将List对象转换为Json数组。`toString()`方法会将Json数组转换为Json字符串。
相关问题
不使用gson库,Java 中如何将JsonObject数组和String相互转化
如果不使用Gson库,可以使用Java标准库中的JSONObject和JSONArray类来实现JsonObject数组和String的相互转化。
以下是使用JSONObject和JSONArray类将JsonObject数组和String相互转化的示例代码:
```java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JsonUtils {
// 将JsonObject数组转化为String
public static String jsonArrayToString(JSONArray jsonArray) {
return jsonArray.toString();
}
// 将String转化为JsonObject数组
public static JSONArray stringToJsonArray(String jsonStr) throws JSONException {
return new JSONArray(jsonStr);
}
}
```
示例代码中使用了Java标准库中的JSONArray和JSONObject类。toString方法将JSONObject数组转化为String,JSONArray类的构造函数将String转化为JSONObject数组。
需要注意的是,在使用JSONObject和JSONArray类时,需要引入json库的依赖。可以在Maven或Gradle中添加如下依赖:
```xml
<!-- Maven 依赖 -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20200518</version>
</dependency>
```
```gradle
// Gradle 依赖
implementation 'org.json:json:20200518'
```
示例代码中的JSONArray和JSONObject类均来自json库。
使用了Gson库为什么还是不能用toGson
使用Gson库时,如果无法使用`toGson`方法,可能是因为该方法不存在或者被错误地调用了。在Gson库中,将Java对象转换为JSON字符串的方法是`toJson`而不是`toGson`。`toJson`方法接受一个Java对象作为参数,并返回对应的JSON字符串表示。
以下是使用Gson库将Java对象转换为JSON字符串的示例代码:
```java
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
// 创建一个Java对象
Person person = new Person("John", 25);
// 创建Gson对象
Gson gson = new Gson();
// 将Java对象转换为JSON字符串
String json = gson.toJson(person);
// 打印JSON字符串
System.out.println(json);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age; }
}
```
在上述示例中,我们创建了一个名为`Person`的Java类,并使用Gson库将其转换为JSON字符串。注意到我们使用了`toJson`方法而不是`toGson`方法。