JSON в Ява Pojo с картой через GSON - PullRequest
0 голосов
/ 29 сентября 2010

Мой java pojo выглядит так

public class myPersonTO{
  String name;
  String surname;
  Map<String, Double> categories;

}

Я использую библиотеку gson, однако я не уверен, что мой json stringn, и объект, из которого он создан, должен понравиться; Я использую json stringify для объекта javascript, содержащего две строки и массив объектов, см. Псевдокод:

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

Любая помощь с благодарностью получена. Ура!

1 Ответ

0 голосов
/ 29 сентября 2010

Ваш вопрос не очень понятен, но я думаю, что версия JSON одного из этих объектов будет выглядеть так:

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

изменить & mdash; Хорошо в ответ на обширные изменения в вашем вопросе: ваш объект "категорий" должен не быть массивом. Это должен быть простой объект, как в моем примере. Ну, по крайней мере, я так думаю. Я должен был проверить это «gson», чтобы убедиться, но я был бы немного удивлен, узнав, что он хочет, чтобы экземпляры Java Map были представлены в виде массивов (удивленный тем, что я нашел другую библиотеку) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...