我需要像这样在
中创建一个二维JSON对象{
"0": {
"Name": "ABC",
"Email": "abc@gmail.com"
},
"1": {
"Name": "xyz",
"Email": "xyz@gmail.com"
}
}
以下是我创建一维JSON的方法
JSONObject contact = new JSONObject();
contact.put("Name", name);
contact.put("PhoneNumber", phoneNumber);
contact.put("Email", Email);
现在我有多个联系人。所以我需要一种方法将它们转换为二维JSON对象。
怎么做? P.S:我在java方面没有太多的实践经验。任何人都可以帮忙吗?
答案 0 :(得分:1)
Map<String, Map<String, String>> myMap = new HashMap<String, HashMap<String, String>>();
Map<String, String> m0 = new HashMap<String, String>();
Map<String, String> m1 = new HashMap<String, String>();
m0.put("Name", "ABC");
m0.put("Email", "abc@gmail.com");
m1.put("Name", "xyz");
m1.put("Email", "xyz@gmail.com");
myMap.put("0", m1);
myMap.put("1", m2);
现在你在myMap
中有这个对象,但我认为你并不是真正理解java
答案 1 :(得分:1)
您需要com.google.gson。* package
JsonObject root = new JsonObject();
JsonObject c0 = new JsonObject();
JsonObject c1 = new JsonObject();
root.add("0", c0);
root.add("1", c1);
c0.add("Name", new JsonPrimitive("ABC"));
c0.add("Email", new JsonPrimitive("abc@gmail.com"));
c1.add("Name", new JsonPrimitive("xyz"));
c1.add("Email", new JsonPrimitive("xyz@gmail.com"));
System.out.println(new Gson().toJson(root));
熟悉这种分层结构,你会经常使用它。此外,如果您有一个完整的API来帮助您操作JSON-s,我建议不要使用地图。