【问题标题】:Need help in constructing the JSON for the following在为以下内容构建 JSON 时需要帮助
【发布时间】:2014-03-31 06:51:37
【问题描述】:

我手头有问题..

public class SomeClass{
List<Template> templateSettings; 
}

public class Template{

String id;
List<TemplateChild> child;
}

public class TemplateChild{
String id;
String something;
}
  at the ajax level i have
@ajax
public class saveSettings(SomeClass someclass){
List<Template> templateSettings = someclass.getTemplateSettings();
}

它有点复杂,有人可以帮我为此构建 JSON,我对 javascript 很陌生.. 谢谢..

【问题讨论】:

  • 由于模板是上面的列表,我可以有多个 templateSettings..thanks
  • 您是否尝试从上述代码生成 json?您已将其标记为 Java,这是否正确(看起来有点像 C#)?有点不清楚您要做什么以及您的问题是什么,如果可以的话,请尝试更好地描述它。
  • 嗯,好吧,Java 中存在用于 JSON {de,} 序列化的 API,并且开箱即用。例如,Jackson 就是这样一个 API,Gson 也是如此。您尝试过其中任何一个吗?
  • 不,上面的 VO 是关于 JSON 的结构应该如何寻找要接受的 saveSettings ajax 调用的指标。​​我有数据,但我不知道如何为上面的 Template 类构造正确的 JSON ..你们能帮忙吗..

标签: java javascript json


【解决方案1】:

Gsonlibrary 会为你做这件事,使用起来非常简单,这里是link

您可以简单地下载jar 文件并像这样创建object

{ Gson gson = new Gson(); String convertJson = gson.toJson(yourobject);}

你就完成了。

【讨论】:

    【解决方案2】:

    你的 JSON 应该是这样的

    templetSettings= [{
        template = {id="someId", childs=[{id="someId", something="something"},{id="someId2", something="something2"}]}},{
        template = {//same as above},{
        template = {//same as above}
    ]
    

    使用 JSONObject 和 JSONArray 创建这种结构。它真的很容易使用

    JSONArray templateSettings = new JSONArray();
    
    for(//configure loop accordigly) { 
        JSONObject template = new JSONObject();
        JSONArray childs = new JSONArray();
        for (//Configure accordingly) {
            JSONObject child = new JSONObject;
    
            child.put("id", "someId");
            child.put("something", "something");
    
            childs.add(child);
        }
    
        template.put("id", "someId");
        template.put("childs", childs);
    
        templateSettings.add(template);
    
    }
    

    在这之后你只需要做的是

    out.write(templateSettings.toString());
    

    你已经完成了

    相应地在 javaScript 侧循环上执行此操作并从这个示例中获取帮助

    http://jsfiddle.net/AMISingh/636vN/

    【讨论】:

    • 我能得到更多关于 JSONObject 的细节吗
    • 以下是您应该如何使用 JSONObject 和 JSONArray。
    • 我相信这是在 Java 级别,我该如何在 JS 级别做到这一点,所以我在这里没有问错问题
    • 你想在客户端构造一个 JSON 然后发送到服务器?
    • 我们没有在你的其他问题中讨论过 JS 部分吗?创建/修改 JS 对象后,您可以在其上使用 JSON.stringify 将其转换为可以通过 ajax 轻松发送的字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多