我有一个列表列表,我想转换为json,列表看起来像:
[Country, Food, Detail, Population, Region, Extension]
[Germany, 1, 2, 3, 4, 5]
[England, 10, 11, 12, 13, 14]
[USA, 19, 20, 21, 22, 23]
[China, 28, 29, 30, 31, 32]
[Italy, 37, 38, 39, 40, 41]
[France, 46, 47, 48, 49, 50]
我想创建一个这样的json
"Germany"{
"Food":
{
"value": 1
},
"Detail":
{
"value": 2
},
"Population":
{
"value": 3
},
"Region":
{
"value": 4
},
"Extension":
{
"value": 5
}
}
"Italy"{
"Food":
{
"value": 10
},
"Detail":
{
"value": 11
},
"Population":
{
"value": 12
},
"Region":
{
"value": 13
},
"Extension":
{
"value": 14
}
}...
我尝试使用gson,但是我无法创建它,当我将其他json添加到最后一个json中时,我遇到了一个问题。我得到了如下结果:
"Germany"{
"Food":
{
"value": 1
}
...}
"Germany"{
"Food":
{
"value": 10
}
"Detail":
{
"value": 11
}
...}
"Italy"{
"Food":
{
"value": 10
}
"Detail": {
"value": 11
}
...}
这是我创建json的代码部分。
JsonObject main2= new JsonObject();
JsonObject main = new JsonObject();
for (int row = 1; row < table.size(); row++) {
for (int colum = 1; colum < table.get(0).size(); colum++) {
JsonObject jsObj = new JsonObject();
jsObj.add("value", new JsonParser().parse(table.get(row).get(colum)));
main.add(table.get(0).get(colum), jsObj);
}
main2.add(table.get(row).get(0),main);
gson.toJson(main2, writer);
}
我不知道我做错了什么,如果我写“主”的结果是正确的,但当我写“主2”我有这个问题。有其他的选择,因为我尝试了不同的方式买我没有一个正确的结果:(
1条答案
按热度按时间0aydgbwb1#
在内部for循环的最后一行中,它应该是main2而不是main。