0

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

感激地收到任何帮助。干杯!

4

1 回答 1

0

您的问题不是很清楚,但我认为其中一个对象的 JSON 版本如下所示:

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

编辑- 好的,以回应您问题的广泛变化:您的“类别”对象应该是一个数组。它应该是一个普通的对象,就像我的例子一样。好吧,至少我想象中应该是这样。我必须检查这个“gson”以确保,但得知它希望将 Java Map 实例表示为数组时我会感到有点惊讶(惊讶于我会找到另一个库) .

于 2010-09-29T14:14:41.360 回答