JSON到Java POJO通过GSON
问题描述:
我的Java POJO看起来像这样JSON到Java POJO通过GSON
public class myPersonTO{
String name;
String surname;
Map<String, Double> categories;
}
我使用GSON库中的地图,但我的不知道我的JSON stringn,并从创建的对象应该喜欢;我使用JSON字符串化,包含两个字符串对象的数组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中,我usign如下:感激
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
}
}
编辑 — OK响应你的问题了广泛的变化:你的“类别”对象应该是而不是是一个数组。它应该是一个普通的对象,就像我的例子。那么,至少这是我应该设想的。我不得不检查一下这个“gson”的东西来确认,但是当我知道它希望将Java Map实例表示为数组时,我会感到很惊讶(惊讶于我会找到另一个库) 。
gson是用于处理json对象的googles库,它是番石榴的一部分。 – NimChimpsky 2010-09-29 14:22:47
是的,谢谢,我发现它 - 我无法从“用户指南”中确定地图是否编码为键/值对的数组。我仍然很惊讶得知他们是。 – Pointy 2010-09-29 14:26:24
他们可能不会 - 仍然让我的头在json格式化。 thnx为你的帮助。 – NimChimpsky 2010-09-29 14:33:58