首页 > 解决方案 > 输出形式 ArrayMap 等于 null

问题描述

我正在编写一个解析器来在我的手机上打印一个文件 json。我包含一个 ArrayMap 来保存从文件接收到的数据。我的问题是,当我必须在 TextView 中打印数据时,它返回 null。我在我的问题下包含了代码。

ArrayMap<Integer, String> Array = new ArrayMap<>();
for(int i=0; i < arr.length(); i++){
    JSONObject jsonPart = arr.getJSONObject(i);
    Array.put("Main", jsonPart.getString("main"));
    Array.put("Description", jsonPart.getString("description"));
    Array.put("Id", jsonPart.getString("id"));
    TxT.append(Txt.getText() + Array.get(i));
}

标签: androiddata-structuresarray-map

解决方案


首先你不应该使用关键字数组,因为它是保留词,你可以将它更改为类似 jsonMap 的东西。ArrayMap<String, String>如果您在关键元素中插入字符串,则应该使用。因此,您的代码将如下所示:

 ArrayMap<String, String> jsonMap = new ArrayMap<>();
 for(int i=0; i<arr.length(); i++){
      JSONObject jsonPart = arr.getJSONObject(i);
      jsonMap.put("Main", jsonPart.getString("main"));
      jsonMap.put("Description", jsonPart.getString("description"));
      jsonMap.put("Id", jsonPart.getString("id"));
      TxT.append(TxT.getText() + jsonMap.get(i));

}


推荐阅读