2010-09-29 5 views
0

Мой Java POJO выглядит следующим образомJSON в Java POJO с картой через GSON

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

} 

Я использую библиотеку gson, однако я не уверен, что моя JSON stringn, и объект он создается из должен как; Я использую 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 я usign следующего:

Type listType = new TypeToken<List<myPersonTO>>() {}.getType(); 
List<myPersonTO> myPersonTOList = new Gson().fromJson(jsonString,listType); 

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

ответ

0

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

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

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

+0

gson - это библиотека googles для обработки объектов json, ее часть guava. – NimChimpsky

+0

Да, спасибо, я нашел его - я не смог определить из «руководства пользователя», будут ли карты закодированы как массивы пар ключ/значение. Я все еще удивляюсь, узнав, что они есть. – Pointy

+0

они вполне могут - все еще получаю голову от форматирования json. thnx за вашу помощь. – NimChimpsky