假设我有一个这样的课程:
public class Person {
private String firstName;
private String lastName;
...
}
然后我创建一个这样的地图:
Map<Person, String> map = new HashMap<Person, String>();
map.put(new Person("Bob", "Builder"), "string1");
map.put(new Person("Bob", "NotBuilding"), "string2");
上面的有效json表示应该是什么样的?如果它确实可能吗?
答案 0 :(得分:1)
您应首先为类Person设置序列化/反序列化机制。例如,每个Person可以具有唯一的id,其可以用作映射键。 Java使用其hashCode()
将Person对象序列化为密钥。
答案 1 :(得分:0)
{ "Persons" : { "string1" : { "class" : "Person", "firstName" : "Bob", "lastName" : "Builder" }, "string2" : { "class" : "Person", "firstName" : "Bob", "lastName" : "NotBuilding" } } }
这只是从JSON的立场出发,并假设您将地图命名为“人物”。你需要找到一种序列化和反序列化的方法,但我想你可以在java中找到一个。