CodeNameOne, чтение JSON без рута - PullRequest
1 голос
/ 01 мая 2019

Обычно я приводил карту к списку, чтобы прочитать JSON, но в этом случае у меня нет «root».Что я должен делать ?это код, который я использую для чтения Json с использованием root:

   Map<String, Object> p = j.parseJSON(new CharArrayReader(json.toCharArray()));
   List<Map<String, Object>> list = (List<Map<String, Object>>) p.get("root");

JSON с root:

{root = [{nom = ayoub, prenom = Mlaouah, cin = 1.344444444E9, datenaissance = {часовой пояс = {name = Europ ............

JSON без корня:

{id = 1.0, idAgee = {nom = ayoub, prenom = Mlaouah, cin = 1.344444444E9, .......

1 Ответ

2 голосов
/ 02 мая 2019

Root - это трюк, который мы добавляем для анализа массивов JSON.Без рута вы просто получаете карту и можете начать запрашивать JSON, например:

Map m = (Map)p.get("idAgee");

Корень есть, если JSON является массивом для начала.Поскольку сигнатура возврата метода - Map, а не List, мы не можем вернуть List, поэтому мы заключаем в ответ Map, содержащий root.

...