为了账号安全,请及时绑定邮箱和手机立即绑定

如何为嵌套的 json 创建 JSONObject

如何为嵌套的 json 创建 JSONObject

守着一只汪 2023-03-09 14:01:54
我无法为嵌套的 json 创建 json 对象。我可以为基本的 json 创建 json 对象。我无法添加更多字段。final JSONObject jsonObject = new JSONObject();    try {        jsonObject.put("name", "new name");        jsonObject.put("description", "new election");    } catch (JSONException e) {        e.printStackTrace();    }这是我的 json:{  "name": "string",  "description": "string",  "candidates": [    "string"  ],  "ballotVisibility": "string",  "voterListVisibility": true,  "startingDate": "2019-07-05T20:09:23.311Z",  "endingDate": "2019-07-05T20:09:23.311Z",  "isInvite": true,  "isRealTime": true,  "votingAlgo": "string",  "noVacancies": 0,  "ballot": [    {      "voteBallot": "string",      "voterEmail": "string"    }  ]}
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

您只需要创建一个新的JSONObject,然后使用新名称将其附加到父对象。下面显示了一个示例附加ballot:


JSONObject jsonObject = new JSONObject();

JSONObject ballot = new JSONObject();

ballot.put("voteBallot","string");

ballot.put("voterEmail","string");


jsonObject.put("name", "new name");

jsonObject.put("description", "new election");


jsonObject.put("ballot", ballot);  //Append the other JSONObject to the parent one


System.out.println(jsonObject.toString());

输出(带有一些格式):


{

"ballot":

     {

     "voteBallot":"string",

     "voterEmail":"string"

     },

 "name":"new name",

 "description":"new election"

}

您也可以使用JSONArrayinstead 并以相同的方式附加它。


查看完整回答
反对 回复 2023-03-09
?
不负相思意

TA贡献1777条经验 获得超10个赞

尝试这个:


final JSONObject jsonObject = new JSONObject();

    Map<String, String> map = new HashMap<>();

    map.put("voteBallot", "string");

    map.put("voterEmail", "string");

    try {


        jsonObject.put("name", "new name");

        jsonObject.put("description", "new election");

        jsonObject.put("candidates", new String[] {"new String"});

        jsonObject.put("ballotVisibility", "string");

        jsonObject.put("voterListVisibility", true);

        jsonObject.put("startingDate", LocalDateTime.now().atZone(ZoneOffset.UTC));

        jsonObject.put("ballot", new Map[]{map});

        System.out.println("jsonObject = " + jsonObject);

    } catch (JSONException e) {

        e.printStackTrace();

    }

它不是所有领域,而是所有不同类型希望它有所帮助。输出:


{  

   "ballot":[  

      {  

         "voteBallot":"string",

         "voterEmail":"string"

      }

   ],

   "candidates":[  

      "new String"

   ],

   "ballotVisibility":"string",

   "name":"new name",

   "voterListVisibility":true,

   "description":"new election",

   "startingDate":"2019-07-05T22:34:58.750Z"

}


查看完整回答
反对 回复 2023-03-09
  • 2 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信