gpt4 book ai didi

java - 将 Java 对象转换为 JsonObject

转载 作者:行者123 更新时间:2023-11-30 02:12:57 25 4
gpt4 key购买 nike

我通过使用 Volley 进行 HTTP GET 来检索 Inventory 对象:

JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,
Constants.API_URL + "inventory/lastInventoryWithLines/" + MyContext.User.getSiteId().toString(), null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
Gson gson = new Gson();
inventory[0] = gson.fromJson(response.toString(), Inventory.class);
...
} catch (Exception e) {
Log.e("InventoryActivity", e.getMessage());
}
finally {
showProgress(false);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
...
}
}
);
queue.add(req);

重要的一行是:

gson.fromJson(response.toString(), Inventory.class);

我用 @SerializedName 装饰了我的 Inventory 类:

public class Inventory {
@SerializedName("InventoryId")
private UUID InventoryId;

@SerializedName("Title")
private String Title;
...
}

所以这个反序列化很容易。

现在,我想更新此 Inventory 对象,并将其发送回服务器。Volley 需要一个 JSONObject。所以我的问题是:如何将 Inventory 对象转换为 JSONObject?

最佳答案

简而言之,你必须这样做:

JsonObject jsonObject = gson.toJsonTree(myUpdatedInventory, Inventory.class).getAsJsonObject();

我没有注意到您不仅仅使用谷歌gson,所以这是更新的答案,取自另一个similar问题:

new JSONObject(new Gson().toJson(inventory[0], Inventory.class));

关于java - 将 Java 对象转换为 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562317/

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