Javascript 如何将JSON转换为Java对象

Javascript 如何将JSON转换为Java对象,javascript,jquery,ajax,json,gson,Javascript,Jquery,Ajax,Json,Gson,嗨,我有一个以下格式的JSON { "elements":[ list1, list2, list3 ] } 其中,list1、list2、list3都是javascript数组 现在我可以使用SpringMVC从javascript文件将其传递给controlleram。现在我想使用正在发送的JSON中的数据。我想将其映射到一个模型类,并将其返回到另一个jsp页面。 我还没有创建一个模型。我怎样才能做到这一点 请帮忙。提前感谢。用于将J

嗨,我有一个以下格式的JSON

{
"elements":[
        list1,
        list2,
        list3
    ]
}
其中,list1、list2、list3都是javascript数组

现在我可以使用SpringMVC从javascript文件将其传递给controlleram。现在我想使用正在发送的JSON中的数据。我想将其映射到一个模型类,并将其返回到另一个jsp页面。 我还没有创建一个模型。我怎样才能做到这一点

请帮忙。提前感谢。

用于将JSON转换为java

YourModelClass obj= gson.fromJson(json, YourModelClass .class);   
用于将JSON转换为java

YourModelClass obj= gson.fromJson(json, YourModelClass .class);   
使用,首先需要创建一个表示JSON数据的类结构,这样就可以创建如下类:

public class Response {
    private List<List<YourObject>> elements;
    //getter and setter
}
然后,为了实际解析JSON响应,您只需执行以下操作:

Gson gson = new Gson();
Response response = gson.fromJson(yourJsonString, Response.class);
JSON数据将用于填充类结构,因此您可以访问字段,例如:

String attribute1 = response.getElements().get(i).get(i).getAttribute1();
使用,首先需要创建一个表示JSON数据的类结构,这样就可以创建如下类:

public class Response {
    private List<List<YourObject>> elements;
    //getter and setter
}
然后,为了实际解析JSON响应,您只需执行以下操作:

Gson gson = new Gson();
Response response = gson.fromJson(yourJsonString, Response.class);
JSON数据将用于填充类结构,因此您可以访问字段,例如:

String attribute1 = response.getElements().get(i).get(i).getAttribute1();

嗨,我使用了下面的代码,它工作得很好

Gson gson = new Gson();
    JsonParser jsonParser = new JsonParser();
    JsonArray jsonArray = jsonParser.parse(this.plan).getAsJsonArray();
    ArrayList<PlanJson> planJsonList = new ArrayList<PlanJson>();
    for(JsonElement jsonElement:jsonArray)
    {
        System.out.println(jsonElement);
        PlanJson planJson = gson.fromJson(jsonElement, PlanJson.class);
        planJsonList.add(planJson);
    }

我发现对于我的json结构来说,这是最容易实现的

Gson gson = new Gson();
    JsonParser jsonParser = new JsonParser();
    JsonArray jsonArray = jsonParser.parse(this.plan).getAsJsonArray();
    ArrayList<PlanJson> planJsonList = new ArrayList<PlanJson>();
    for(JsonElement jsonElement:jsonArray)
    {
        System.out.println(jsonElement);
        PlanJson planJson = gson.fromJson(jsonElement, PlanJson.class);
        planJsonList.add(planJson);
    }

我发现对于我的json结构来说,这是最容易解决的问题。

您可以使用jackson库。见:

以下是一个例子:


你可以使用杰克逊图书馆。见:

以下是一个例子:


看看jackson Library我已经发布了答案,但是如果你提供关于列表1、列表2和列表3内容的信息,我们可以给出更精确的解决方案……看看jackson Library我发布了答案,但是如果你提供关于列表1、列表2和列表3内容的信息,我们可以给出一个更精确的解决方案…感谢您共享代码@NullPointerException。这对我帮助很大。谢谢你分享代码@NullPointerException。这对我帮助很大。谢谢你的回答@MikO。我需要更多关于json转换的练习。谢谢@MikO的回答。我需要更多关于json转换的练习。谢谢@meewoK这个替代方案。不过,我并没有试图向我的应用程序中添加更多的库。@user2182000好的,没问题:谢谢@meewoK这个替代方案。但是,我不想再向我的应用程序中添加库。@user2182000好的,没问题: