首先,为你可能犯的语法错误道歉。我的英语不是很好。
我正在尝试存储来自geojson的每一项的属性。
我想将它们存储到一个数组中,如下所示:
数组:[ prop1,prop2,prop3,prop4,... ]
我的问题是属性"item“是一个包含每个proeprty的对象。
你能帮帮我吗?
这是geojson file。
下面是我的代码:
public void loadProperties() {
JSONObject object = new JSONObject(jsonString);
JSONArray array = object.getJSONArray(ApiJSON.FEATURES);
Iterator<Object> iterator = array.iterator();
Map<String, Object> properties = new HashMap<String, Object>();
while (iterator.hasNext()) {
JSONObject jsonObject = (JSONObject) iterator.next();
for (String key : jsonObject.keySet()) {
if (key.equalsIgnoreCase(ApiJSON.PROPERTIES)) {
JSONObject item = (JSONObject) jsonObject.get(key);
for (int i=0; i<keyNames.size(); i++) {
String keyName = keyNames.get(i).toString();
Object value = item.get(keyName);
properties.put(keyName, value);
}
}
}
}
System.out.println(properties.toString());
}发布于 2019-07-17 16:44:24
我解决了,非常感谢你的帮助:D
public void loadProperties() {
JSONObject object = new JSONObject(jsonString);
JSONArray array = object.getJSONArray(ApiJSON.FEATURES);
Iterator<Object> iterator = array.iterator();
list = new ArrayList<>();
while (iterator.hasNext()) {
JSONObject jsonObject = (JSONObject) iterator.next();
for (String key : jsonObject.keySet()) {
if (key.equalsIgnoreCase(ApiJSON.PROPERTIES)) {
JSONObject item = (JSONObject) jsonObject.get(key);
Map<String, Object> props = new HashMap<String, Object>();
for (int i=0; i<keyNames.size(); i++) {
String keyName = keyNames.get(i).toString();
Object value = item.get(keyName);
props.put(keyName, value);
}
list.add(props);
}
}
}
}https://stackoverflow.com/questions/57070252
复制相似问题