来自 java ObjectName.toString 的 JSON 对象

Mih*_*hai 2 java android json jackson maven

我有一个 java 对象,当我输入 objectName.toString() 时会生成此输出:

Bus [id=1, nextStationID=0, previousStationID=0]
Run Code Online (Sandbox Code Playgroud)

是否有一个 JSON 解析器可以让我从对象生成的字符串中生成 JSON?就像是:JsonObject x = new JsonObject(busObject.toString())

对我来说,从调用 .toString 方法时获得的字符串生成它很重要。

任何帮助表示赞赏。

mit*_*rop 5

JSON 解析器的目标是从对象生成 JSON 字符串或从 JSON 字符串创建对象。

在您自己的答案中,从您的对象手动创建 JSON 字符串是可以的,但我认为使用 JSON 解析器将使您的代码最容易维护并且更高效。

您可以使用这个 toString() 方法:

public String toString() {
    Gson gson = new Gson();
    return gson.toJson(this, Bus.class);
}
Run Code Online (Sandbox Code Playgroud)

使用此解决方案,即使您在类中删除或添加字段,toString() 方法仍然可以。

最后,如果您想将对象转换为 JSONObject,我建议您创建一个类似 的方法toJSONObject并在其中手动进行转换。