我有以下 JSON:
{
"items": [
{
"id": "1",
"name": "John",
"location": {
"town": {
"id": "10"
},
"address": "600 Fake Street",
},
"creation_date": "2010-01-19",
"last_modified_date": "2017-05-18"
},
{
"id": "2",
"name": "Sarah",
"location": {
"town": {
"id": "10"
},
"address": "76 Evergreen Street",
},
"creation_date": "2010-01-19",
"last_modified_date": "2017-05-18"
},
{
"id": "3",
"name": "Hamed",
"location": {
"town": {
"id": "20"
},
"address": "50 East A Street",
},
"creation_date": "2010-01-19",
"last_modified_date": "2017-05-18"
}
]
}
我需要得到这样的东西,计算每个townId
出现的次数:
[ { "10": 2 }, {"20": 1 }]
我正在尝试找到最有效的方法来做到这一点。有什么想法吗?
最佳答案
最有效的方法是在 StringBuilder 中加载字符串并删除所有换行符和空格。然后搜索 "town":{"id":"
字符串的索引(城镇起始索引),然后搜索结束索引(字符串`"}')。使用这 2 个索引,您可以提取城镇 ID 并对其进行计数。
无需将 JSON 反序列化为 POJO 对象:) 并通过 xpath 从 POJO 中提取值。
关于java - JSON中如何按属性进行计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44500867/