java在从地图检索数据时获得双方括号
我以字符串作为键,JSONArray作为值的形式将数据存储在地图中 但在检索数据时,我得到的值是双方括号
这是我的节目
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class Test {
public static void main(String args[]) {
Map<String, JsonArray> datafromdb = new LinkedHashMap<String, JsonArray>();
JsonArray jsonarray = new JsonArray();
JsonObject pacs_obj = new JsonObject();
pacs_obj.addProperty("pac_id", "1235");
jsonarray.add(pacs_obj);
String new_catid = "1";
if (!datafromdb.containsKey(new_catid)) {
datafromdb.put(new_catid, new JsonArray());
}
datafromdb.get(new_catid).add(jsonarray);
Iterator it = datafromdb.entrySet().iterator();
JsonArray catarr = new JsonArray();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
JsonArray array = (JsonArray) pair.getValue();
System.out.println(array);
}
}
}
当我运行上述程序时,输出是
[[{"pac_id":"1235"}]]
你能告诉我如何检索这个问题吗
# 1 楼答案
您有两个方括号,因为您已经创建了两个数组: 这里:
这里:
只需去掉数组中的一个,例如: