如何使用java向json添加数据?

如何使用java向json添加数据?,java,json,jsp,Java,Json,Jsp,我有两个输入字段的html表单,我在点击按钮时将其添加到json文件中 JSON文件 { "data": { "names": [ { "no": 1, "name": "John" }, { "no": 2, "name": "Paul" } ] } } Java文件 String vNo = ""

我有两个输入字段的html表单,我在点击按钮时将其添加到json文件中

JSON文件

{
  "data": 
    {
      "names": [
        {
          "no": 1,
          "name": "John"
        },
        {
          "no": 2,
          "name": "Paul"
        }
        ]
     }
}
Java文件

String vNo = "";
String vNAme = "";


JSONParser parser = new JSONParser();



if(request.getParameter("save")!=null) 
{
   vNo = request.getParameter("no_form");
   vName = request.getParameter("name_form");


   JSONObject element = new JSONObject();
   element.put("no", vNo);
   element.put("name", vName);

   JSONArray names = new JSONArray();

   names.add();

 }
我正在使用JSON simple,我很困惑如何将数据从输入字段添加到JSON数组“名称”中

添加内容后的JSON文件必须如下所示

{
  "data": 
    {
      "names": [
        {
          "no": 1,
          "name": "John"
        },
        {
          "no": 2,
          "name": "Paul"
        },
        {
          "no": 3,
          "name": "Jake"
        }
        ]
     }
}

我使用jacksonjson库来实现这一点

使用这个库你可以做到这一点

     vNo1 = request.getParameter("no1_form");
     vName1 = request.getParameter("name1_form");


     vNo = request.getParameter("no_form");
     vName = request.getParameter("name_form");


    ObjectMapper mapper = new ObjectMapper();
    ObjectNode root = mapper.createObjectNode();
    ArrayNode names = mapper.createArrayNode();

       ObjectNode item1 = mapper.createObjectNode();
       item1.put("no", vNo1);
       item1.put("name", vName1); 
       names.add(item1);

       ObjectNode item2 = mapper.createObjectNode();
       item2.put("no", vNo);
       item2.put("name", vName); 
       names.add(item2);

    root.put("names", names);

   return root;
见以下代码:

JSONObject mainNode = new JSONObject();
Collection<JSONObject> items = new ArrayList<JSONObject>();

/*************1st element**************/
JSONObject element = new JSONObject();
element.put("no", vNo);
names.put("name", vName);
items.add(element);

/*************2st element**************/
JSONObject element1 = new JSONObject();
element1.put("no", vNo1);
element1.put("name", vName1);
items.add(element1);

/*************Add into root element**************/
mainNode.put("data", new JSONArray(items));
JSONObject mainNode=new JSONObject();
集合项=新建ArrayList();
/*************第一要素**************/
JSONObject元素=新的JSONObject();
元素。put(“no”,vNo);
名称。输入(“名称”,vName);
添加(元素);
/*************2st元件**************/
JSONObject element1=新的JSONObject();
要素1.投入(“否”,vNo1);
要素1.put(“名称”,vName1);
项目。添加(要素1);
/*************添加到根元素中**************/
放置(“数据”,新的JSONArray(项));

我希望将html表单中的数据附加到json文件中的数组“name”中。我编辑了我的问题。什么是obj.getNo?如何从html输入字段传递数据!编辑我的回复以获得基本理解我需要链接到Jackson Json库我在将内容添加到文件时遇到一些问题,我正在使用Filewriter类,如何保存对文件的更改?