【问题标题】:How to add data to json using java?如何使用java将数据添加到json?
【发布时间】:2016-03-23 12:35:31
【问题描述】:

我有两个输入字段的 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 很简单,我很困惑如何将输入字段中的数据添加到 JSON 数组“名称”?

添加内容后的JSON文件必须是这样的

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

【问题讨论】:

    标签: java json jsp


    【解决方案1】:

    我使用 Jackson Json 库来执行此操作。

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

         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;
    

    【讨论】:

    • 什么是obj.getNo?如何在此处从 html 输入字段传递数据!
    • 编辑我的回复以进行基本了解
    • 我需要 Jackson Json 图书馆的链接
    • 我在将内容添加到文件时遇到了一些问题,我正在使用 Filewriter 类,如何保存对文件的更改?
    【解决方案2】:

    见以下代码:

    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));
    

    【讨论】:

    • 我希望将 html 表单中的数据附加到 json 文件中的数组“名称”中。我编辑了我的问题。
    猜你喜欢
    • 2013-08-15
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多