【发布时间】:2014-11-14 11:43:33
【问题描述】:
使用 get 和 set 方法生成 Java 对象的方法是什么?
【问题讨论】:
使用 get 和 set 方法生成 Java 对象的方法是什么?
【问题讨论】:
您应该编写一个带有与 JSON 键匹配的属性的 java bean,因为您已经有了一个阅读器,它很简单
YourObject obj = gson.fromJson(br, YourObject.class);
更新
关于您的评论,当您不想或无法创建 bean 时,通常归结为将 JSON 解析为映射。 GSON (afaik) 没有内置的,但是构建一个遍历 GSON 对象的方法并不难。您在此博客中有一个示例
http://itsmyviewofthings.blogspot.it/2013/04/jsonconverter-code-that-converts-json.html
由于您似乎对替代方案持开放态度,因此也请看一下 Jackson(这两个库是 JAVA 中的事实标准)。
使用 jackson,您不必创建 bean 来支持反序列化,例如
String json = "{\"id\":\"masterslave\"}";
Map<String,String> map = new HashMap<String,String>();
ObjectMapper mapper = new ObjectMapper();
//convert JSON string to Map
map = mapper.readValue(json,
new TypeReference<HashMap<String,String>>(){});
【讨论】:
http://www.jsonschema2pojo.org/
该链接有助于根据您输入的 GSON 生成 Java 对象格式。只需确保完全按照您的需要进行设置。与往常一样,仅复制粘贴生成的代码并不是一个好主意,但它可能会有所帮助。
【讨论】: