我正在编写一个解析器,以在手机上打印文件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));
}
答案 0 :(得分:2)
首先,您不应该使用关键字Array,因为它是保留字,您可以将其更改为类似于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));
}
答案 1 :(得分:0)
这样更改了arraymap声明
ArrayMap<String,String>Array = new ArrayMap<>();