我的java pojo看起来像这样
public class myPersonTO{
String name;
String surname;
Map<String, Double> categories;
}
我正在使用gson库,但是我不确定我的json stringn和它创建的对象应该是什么样的;我在包含两个字符串和一个对象数组的javascript对象上使用json stringify,请参阅伪代码:
var json = [];
jsonObject = new Object();
jsonObject.name = "testname"
jsonObject.surname = "testsurname"
var categories = [];
for(index=0,index <10;index++){
var category = new Object();
category.key = getKey();
category.value = index;
categories.push(category);
}
jsonObject.categories = categories;
json.push(jsonObject);
json = JSON.stringify(json); //convert json object, then use in submit
然后在Java中我将使用以下内容:
Type listType = new TypeToken<List<myPersonTO>>() {}.getType();
List<myPersonTO> myPersonTOList = new Gson().fromJson(jsonString,listType);
感激不尽的任何帮助。干杯!
答案 0 :(得分:0)
您的问题不是很明确,但我认为其中一个对象的JSON版本看起来像:
{
"name": "Bob",
"surname": "Scum",
"categories": {
"whatever": 22.5,
"balloons": 107.0023,
"zebras": -10299.01
}
}
编辑 - 您可以回答问题中的大量更改:您的“类别”对象不应该是一个数组。它应该是一个普通的对象,如我的例子。好吧,至少这是我应该想到的。我必须检查这个“gson”的东西才能确定,但是我知道它希望Java Map实例被表示为数组(我觉得我找到另一个库的程度感到惊讶),我感到很惊讶。