Как преобразовать массив JSON в ArrayList <ClassType>в Java? - PullRequest
0 голосов
/ 25 февраля 2019

Это мой входной JSON, из которого я должен получить interLockingGrids и сохранить его в ArrayList<ClassType>.Я уже достаточно искал, но не нашел именно то, что хочу.Есть ли какой-нибудь самый простой способ?

{"entity":"MasterGrid",

"data" :"{\"name\":\"MA_Pune\",
\"coordinates\" : [
{\"lat\":18.553449789265677,\"lng\":73.77419574114515},{\"lat\":18.554232972087224,\"lng\":73.77367002817823},{\"lat\":18.556135000463573,\"lng\":73.77144913093571},{\"lat\":18.555148376025496,\"lng\":73.7700973257704},{\"lat\":18.55309341985624,\"lng\":73.77075145899971},{\"lat\":18.5530421437421,\"lng\":73.77312207276918} ] ,
\"interLockingGrids\": [
{\"name\":\"Test1\",\"type\":\"CLUSTER\",\"coordinates\":[{\"lat\":18.555151666563823,\"lng\":73.7700902617189},{\"lat\":18.556135000463573,\"lng\":73.77144913093571},{\"lat\":18.556135000463573,\"lng\":73.77144913093571},{\"lat\":18.556135000463573,\"lng\":73.77144913093571},{\"lat\":18.556135000463573,\"lng\":73.77144913093571},{\"lat\":18.556135000463573,\"lng\":73.77144913093571}],\"isActive\":true,\"colorCode\":\"#D0983C\"} ,
{\"name\":\"Test2\",\"type\":\"CLUSTER\",\"coordinates\":[{\"lat\":18.5530421437421,\"lng\":73.77312207276918},{\"lat\":18.553449789265677,\"lng\":73.77419574114515},{\"lat\":18.55238201763598,\"lng\":73.7743998478852}],\"isActive\":true,\"colorCode\":\"#8E75B7\"}  ] ,

"operation":"GRID_OPERATION",
"description":"Baner_Test",
"submittedBy":"m@abc.com",
"submittedById":4,
"submittedByType":"OPS" }

1 Ответ

0 голосов
/ 25 февраля 2019

В недавнем проекте я сделал нечто подобное:

public List<MyType> parseJsonToListOfMyType(String json) {
        Gson gson = new Gson();
        JsonArray job = gson.fromJson(json, JsonArray.class);
        Type listType = new TypeToken<List<MyType>>(){}.getType();
        return gson.fromJson(job, listType);
    }
...