gpt4 book ai didi

java - 使用 com.google.code.gson 在 Java8 中创建 JSON 对象

转载 作者:行者123 更新时间:2023-12-02 11:01:40 24 4
gpt4 key购买 nike

我正在尝试在 JAVA 8 中使用 com.google.code.jso 创建一个 JSON 对象。我有一个对象列表,并且正在迭代它们。对象如下:

public class MyObject {
private String name, status, cause, id;

public String getName() {
return name;
}

public String getStatus() {
return status;
}

public String getCause() {
return cause;
}

public String getId() {
return id;
}

}

我有一个上述对象的列表,我正在尝试使用下面的内容(相关代码)将它们转换为 JSON:

import com.google.gson.JsonObject;

JsonObject status = new JsonObject();
for (MyObject obj : objectLists){
status.add(obj.getId(),
new JsonObject()
.add("Name: ", obj.getName())
.add("Status: ", obj.getStatus())
.add("Cause: ", obj.getCause())
);
}

我希望得到以下形式的 JSON:

{

"0 (this is the id i get from myObject.getId())": {
"name": The name i get from myObject.getName(),
"Status": The status from myobject.getStatus(),
"cause": The status from myobject.getCause()
},
"1": {
"name": "myname",
"Status": "mystatus",
"cause": "cause"
}
}

所以我有两个问题。

  1. 我在创建 Json 对象时遇到错误。 第二个错误
    参数类型。找到:'java.lang.String',必需:
    'com.google.gson.JsonElement'
    我知道我必须改变第二个参数,但我在文档中找不到该怎么做那个。

  2. 我怎样才能漂亮地打印这个。

谢谢

最佳答案

您使用了错误的方法:JsonObject.addProperty(),而不是 JsonObject.add()

JsonObject.add(String, JsonElement) - 将嵌套的 json 元素添加到您的对象:

{
"root": {
"nested": {}
}
}

JsonObject.addProperty(String, String) - 将属性添加到您的对象(可以是任何基元或字符串):

{
"root": {
"property": "some string"
}
}

关于java - 使用 com.google.code.gson 在 Java8 中创建 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31205063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com