我意识到这可能已被问了一百次,但我已经搜索了很多,并且无法找到我特别想要的东西。
这就是我想要的。给定一个字符串data
,我想反序列化为一个没有预定义所有字段的对象obj
。我希望能够提出我想要的字段,例如obj.getString("stringFieldName")
或obj.getInt("intFieldName")
。我已经将gson用于其他事情,所以如果有可能使用gson,虽然不反对使用其他库,但它会很棒。
答案 0 :(得分:3)
'标准'Android JSON库(自API 1起)已经提供了这种无类型访问。
见JSONObject,例如。 getInt:
返回按名称映射的值(如果存在且是int或可以强制转换为int,否则抛出)。
除非需要将JSON映射到“本机”Java集合类型,否则这可能是实现请求的最简单方法。它不需要任何额外的库。
答案 1 :(得分:1)
使用Jackson库,您可以使用
注释数据模型类function BothValid(a,b: pointer): boolean;
// a= rcx
// b= rdx
asm
lea rax, [rcx-4]
lea r8, [rdx-4]
or r8, rax
js @OneOrMoreNullPointers
....
并且jacksonconverter只会解析您定义的这些字段。其他将被忽略。
答案 2 :(得分:0)
您是否尝试过使用Square的Retrofit?它适用于GSON和Java Annotations,它的设置非常简单。