CodeNameOne,无需root即可读取JSON

时间:2019-05-01 11:15:11

标签: java json list dictionary codenameone

我通常将地图投射到列表中以读取JSON 但是在这种情况下,我还没有“ root”权限。我该怎么办 ? 这是我使用root读取Json的代码:

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

带有root的JSON:

  
    

{root = [{nom = ayoub,prenom = Mlaouah,cin = 1.344444444E9,datenaissance = {timezone = {name = Europ ............

  

不带root的JSON:

  
    

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

  

1 个答案:

答案 0 :(得分:2)

Root是我们添加来解析JSON数组的技巧。没有根目录,您只需要获取地图即可开始查询JSON,例如:

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

如果JSON是开头的数组,则存在根。由于方法返回签名是Map而不是List,因此我们无法返回List,因此我们将响应包装为包含Map的{​​{1}}。 / p>