我有以下代码:选择JSON对象取决于值
[ {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 0
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 1
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 2
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 3
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 4
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 5
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 6
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 7
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 8
}, {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 9
} ]
现在,通过生成的文本我想要搜索的价值:
try {
List<Item> object = new ArrayList<Item>();
for (int i = 0; i < 10; i++) {
Item item = new Item();
item.setItemID(i);
object.add(item);
item=null;
}
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.ALWAYS);
ObjectWriter ow = objectMapper.writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(object);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
通过sysout
我喜欢控制台得到的字符串每个对象的属性。
例如: 我想搜索itemID=6
,如果找到,那么需要选择整个对象。所以我的结果文本将是
[ {
"dateCreated" : null,
"createdBy" : null,
"dateModified" : null,
"modifiedBy" : null,
"itemID" : 6
} ]
我想在java中的解决方案不在jquery或任何客户端脚本。
OP说'我想搜索每个对象属性的值。'如果他想用'createdBy'搜索,那么怎么办?按索引搜索不是一个解决方案,除非他只想通过id搜索 - 他不知道。 – gudthing 2015-02-07 12:52:11
@gudthing说的是正确的。按itemid搜索仅仅是一个例子。我可以搜索任何财产。 – Amogh 2015-02-07 12:59:34
你可以运行一个for循环到json的大小,并且在每个索引处你可以使用你的密钥来匹配item ID。像这样 \t JSONArray jArr = jObj.getJSONArray(“array”); \t \t对(INT I = 0; I
2015-02-07 13:02:39