我想使用集合制作这种类型的数据格式。
[username] = test
[password] = test
[model] = City
[action] = add
[City] = Array
(
[name] = Added from me
[state_id] = 1243
)
Map
很适合这里
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("username", "test@test.com");
map.put("city", arrayOfCity);
确保如果您正在使用实现,HashMap
那么您需要为您添加的自定义类型提供合理的版本hashcode()
equals()
Map
如果您有一组固定的属性,那么您应该使用类并创建一个,如果没有,则使用 map
我会将您的对象收集到一个对象中:
public class Person {
private final String username;
private final String[] cities;
public Person(String username, String[] cities){
this.username = username;
this.cities = cities;
}
public String getUsername(){
return this.username;
}
public String[] getCities(){ // or pass an int and return one city
return this.cities;
}
}
然后,您可以将它放在一个集合中:
Person p1 = new Person("test@test.com", new String[]{"Liverpool","London"});
Person p2 = new Person("another@test.com", new String[]{"New York","California"});
List<Person> people = new ArrayList<Person>();
people.add(p1);
people.add(p2);
你可以使用Java HashMap。这将为您提供您所需要的。
Map<String, Object> map = new HashMap<String, Object>();
您可以编写一个pojo映射到您提到的字段。这将比使用集合来存储单个实体更清楚。