Javascript json到java pojo,并通过GSON映射

Javascript json到java pojo,并通过GSON映射,javascript,json,gson,Javascript,Json,Gson,我的java pojo看起来像这样 public class myPersonTO{ String name; String surname; Map<String, Double> categories; } 我正在使用gson库,但是我不确定我的json-stringn和它所创建的对象应该是什么;我在一个包含两个字符串和一个对象数组的javascript对象上使用json stringify,请参见伪代码: var json = []; jsonObject =

我的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);

感谢您的帮助。干杯

你的问题不是很清楚,但我认为其中一个对象的JSON verson看起来像:

{
  "name": "Bob",
  "surname": "Scum",
  "categories": {
    "whatever": 22.5,
    "balloons": 107.0023,
    "zebras": -10299.01
  }
}

编辑-确定以响应问题中的大量更改:类别对象不应是数组。它应该是一个普通对象,如我的示例中所示。好吧,至少我认为应该是这样的。我必须检查一下这个gson的东西来确定,但我会有点惊讶地了解到它希望Java Map实例被表示为数组,这让我很惊讶,因为我发现了另一个库。

gson是谷歌处理json对象的库,它是guava的一部分。是的,谢谢,我发现了它-我无法从用户指南中确定映射是否编码为键/值对数组。我仍然会惊讶地发现它们是。它们很可能不是——我仍然在思考json格式。谢谢你的帮助。