Gson - 每个属性都是字符串

Gson - every attribute as string

我已经通过 Azure 创建了到 DocumentDB 的连接,并且正在将一个对象保存到数据库中。

我的对象是 class Car.

的实例
public class Car {
    private long id;
    private String name;

    public Car(long id, String name) {
        this.id = id;
        this.name = name;
    }
}

要将对象作为文档存储到 DocumentDB,您必须从该对象创建一个 json 字符串。

问题出在调用 new Gson().toJson(new Car(15, "Audi"));.

会return"{"id":15,"name":"Audi"}"。 但是 DocumentDB SDK 不接受这种格式。它抛出一个 JSON 异常,因为它需要以下格式:

"{"id":"15","name":"Audi"}".

我的问题是 Gson 是否能够 "surround" 每个带引号的属性以及如何实现?

谢谢。

您只需要将 id 成员更改为 String 类型即可。

顺便说一句,查看 Gson 文档,我没有看到任何将数字自动转换为带引号的字符串的选项。