[ { "id": 123, "properties": { "property1": property1, "property2": property1 } }, { "id": 456, "properties": { "property1": property1, "property2": property1 } } ]
Requirements, get properties as JSON object which id is "123".
Code as below:
import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.io.FileReader; /** * Get test data from json file */ private JsonObject initTestDataFromJson (String fileName) { JsonParser parser = new JsonParser(); JsonObject properties = null; try { String filePath = System.getProperty("user.dir").replace("\\", "/") + "/src/test/" + fileName + ".json"; Object obj = parser.parse(new FileReader(filePath)); JsonArray jsonArrays = (JsonArray) obj; for(JsonElement jsonElement : jsonArrays) { JsonObject jsonObject = jsonElement.getAsJsonObject(); if ("123".equals(jsonObject.get("id").getAsString())) { properties = jsonObject.getAsJsonObject("properties"); logger.info(properties.toString()); break; } } } catch (Exception e) { logger.error(e); } return properties; }