【问题标题】:How do you store arrays into a JSON object?如何将数组存储到 JSON 对象中?
【发布时间】:2014-06-26 11:57:06
【问题描述】:

我有以下对象:

  • server:一个字符串
  • products: 将是服务器内的数组
  • productProperties: 将是产品中的一个数组

以下是以 JSON 格式存储值的正确方法吗?

JSONOBJECT jmap = new JSONOBJECT();


jsonArray jproduct = new jsonArray ();


jsonArray jproductsProperty1 = new jsonArray ();
jproductsProperty1  .put("P1");
jproductsProperty1  .put("P2");

jsonArray jproductsProperty2 = new jsonArray ();
jproductsProperty2  .put("Q1");
jproductsProperty2  .put("Q2");


jproduct.put(jproductsProperty1);
jproduct.put(jproductsProperty2);
jmap.put(server,jproduct);

out.print(jmap.toString());

【问题讨论】:

    标签: java json jsonp org.json


    【解决方案1】:

    第一个参数它只是一个键,第二个参数是你的对象可以是一个像数组这样的集合

    JSONOBJECT jmap = new JSONOBJECT();
    
    jsonArray jproductsProperty1 = new jsonArray ();
    jproductsProperty1.put("P1");
    jproductsProperty1.put("P2");
    
    jsonArray jproductsProperty2 = new jsonArray ();
    jproductsProperty2.put("Q1");
    jproductsProperty2.put("Q2");
    
    jmap.put("jproductsProperty1", jproductsProperty1 );
    
    jmap.put("jproductsProperty2", jproductsProperty2 );
    

    【讨论】:

    • 你能根据我指定的对象名称来回答吗...那会很有帮助
    • 但是这个数据不是根据服务器的。实际上服务器是一个关键,根据服务器产品在那里....通过你的代码我会得到这个响应 {"jproductsProperty2":"Q1","Q2"],"jproductsProperty1":["P1","P2 "]} 但是服务器不在这里,这个完整的数据将在一个服务器中,比如 server1。如何实现?
    • 感谢您的帮助..您的代码帮助我得到答案..我想我必须使用两个 JSONOBJECT 在我的情况下..我粘贴了答案..谢谢。
    • 好吧,您只是问如何将数组存储到 jsonobject 中,我不确定您到底在哪里寻找什么,但看起来您找到了答案
    【解决方案2】:

    好的,我想我需要在这里使用两张地图.....就像这样

    JSONObject jmap1 = new JSONObject();
    
        JSONObject jmap2 = new JSONObject();
    
        JSONArray jproduct = new JSONArray();
    
    
        JSONArray jproductsProperty1 = new JSONArray();
        jproductsProperty1  .put("P1");
        jproductsProperty1  .put("P2");
    
        JSONArray jproductsProperty2 = new JSONArray();
        jproductsProperty2  .put("Q1");
        jproductsProperty2  .put("Q2");
    
    
        jproduct.put(jproductsProperty1);
        jproduct.put(jproductsProperty2);
        jmap2.put("jproductsProperty1", jproductsProperty1 );
    
        jmap2.put("jproductsProperty2", jproductsProperty2 );
        jmap1.put("A",jmap2);
        System.out.println(jmap1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      相关资源
      最近更新 更多