在2D数组中创建JSON以存储键值对

时间:2015-10-21 09:39:41

标签: java arrays json

我有一个想要寻求你的专业知识的问题。 我有类调用技术,我从数据库中检索数据作为技术类technologyList= getProjectBD().getAllTechnology();

的对象列表

我的问题是如何将数据存储为Json数组中的键值对。 这是我的代码

JSONArray technologyArray=new JSONArray();
for (Technology technology : technologyList) {
        JSONArray gridRow=new JSONArray();
        gridRow.put(technology.getTechnologyId());
        gridRow.put(technology.getTechnologyName());            
        technologyArray.put(gridRow);           
    }

我需要传递此数据以在我的jsp中选择选项作为id和name。 例如: - [1:JAVA,2:C#...]

1 个答案:

答案 0 :(得分:1)

尝试使用com.google.gson.*这样的元素:

private JsonArray serializetechnologies(List<Technology> technologyList) {
    JsonArray jsonArray = new JsonArray();
    for (Technology technology : technologyList) {
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty(technology.getTechnologyId()+"", technology.getTechnologyName());
        jsonArray.add(jsonObject);
    }
    return jsonArray;
}

如果你想获得价值:

for (JsonElement jsonElement : jsonArray) {
    JsonObject jsonObject = (JsonObject) jsonElement;
    String name = jsonObject.get(technologyX.getTechnologyId() + "").getAsString();
    System.out.println("The name of technology witch Id = " + technologyX.getTechnologyId() + " is : "
            + name);
}

我希望这会有所帮助:)