[英]How to store json data in an Arraylist?
我有以下代碼,我將來自Elasticsearch的json數據存儲在本地驅動器中存儲的文件中。 相反,我想將數據存儲在Arraylist中,因此我可以將其傳遞給UI以顯示在前端。
try {
HttpGet request = new HttpGet("http://localhost:9200/indexname/_search?pretty=1&size=100&q=name:%22Test%22");
HttpResponse resp = client.execute(request);
HttpEntity entity = resp.getEntity();
byte[] buffer = new byte[1024];
if (entity != null) {
InputStream input = entity.getContent();
FileWriter file = new FileWriter("/localpath/data.json");
try {
int bytesRead = 0;
BufferedInputStream in = new BufferedInputStream(input);
while ((bytesRead = in.read(buffer)) != -1) {
String chunk = new String(buffer, 0, bytesRead);
System.out.println(chunk);
file.write(chunk);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try { file.close(); inputStream.close(); } catch (Exception ignore) {}
}
}
}
JSON數據的格式為:
{
"took": 9,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 6.3519955,
"hits": [
{
"_index": "indexname",
"_type": "status",
"_id": "eb825358-93d7-4a2f-9227-9b060cbc323a",
"_score": 6.3519955,
"_source": {
"name": "Test",
"ID": "ABCD",
"Number": "23222",
"SecCode": "124"
}
},
{
"_index": "indexname",
"_type": "status",
"_id": "eb825358-93d7-4a2f-9227-9b060cbc323b",
"_score": 6.3519955,
"_source": {
"name": "Test",
"ID": "CDEF",
"Number": "5678",
"SecCode": "120"
}
}
]
}
}
在我的數組列表中,我只想存儲ID和Number。
任何幫助,將不勝感激? 謝謝
public static List<Pattern> pattern(){
ArrayList<Pattern> patterns = new ArrayList<>();
Gson gson = new Gson();
JsonParser jsonParser = new JsonParser();
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader("MyJsons/objects.json"));
JsonElement jsonElement = jsonParser.parse(bufferedReader);
//Create generic type
Type type = new TypeToken<List<Pattern>>() {}.getType();
return gson.fromJson(jsonElement, type);
} catch (IOException e) {
e.printStackTrace();
}
return patterns;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.