我正在使用api来获取我的应用程序的数据。我使用GSON解析JSON数据,所以我有这样的东西:
List
obj
double
movie
...
obj
double
movie
...
...
double值用于加权电影的顺序。但是,我对此并不感兴趣,而是会看一个简单的电影列表,如下所示:
List
movie
...
movie
...
...
我能想到的唯一解决方案是首先将其解析为obj列表然后使用循环将电影对象复制到新列表,但我希望你能教我一个更好的方法。你有什么建议吗?
答案 0 :(得分:0)
我似乎记得给你的字段提供transient关键字应该可以解决问题:
private transient double value;
这应该将其从序列化中排除。
答案 1 :(得分:0)
您可以使用JsonPath库以及JSONExpression
从JSON
中提取所需的元素。例如。如果是json:
[{
"test": 1,
"test1": "value1"
},
{
"test": 1,
"test1": "value2"
}]
如果您想获得test1
元素的所有值,则可以使用$[*].test1
JSONExpression
同时获取value1
和value2
。请参阅下面的Java示例:
public static void main(String[] args) {
Object value = JsonPath.read("[{ \"test\": 1, \"test1\": \"value1\"},{ \"test\": 1, \"test1\": \"value2\"}]", "$[*].test1");
System.out.println(value);
}
This是一个很好的网站,可以动态测试JSON
个表达式。
*的修改 * JsonPath的Maven依赖:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.0.0</version>
</dependency>