Convert JSON File to JSON Object

Here is the JSON file as below
[
    {
      "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;
}

猜你喜欢

转载自pengyao0305.iteye.com/blog/2382318