从前端获取 json数组,在后端(java)获取并解析输出。

      因项目功能需要,需实现获取用户填写的 Json数组 对象,并传到后端,再存入数据库。在网上查了许久,文章内容都不是我想要的,而且例子都是没有实现我需要的功能。所以摸索了一天,实现了。现在把过程写一遍,也算是总结。我使用了前端WEB控件库miniUI。获取用户输入的信息,这个信息是多条记录。如下图所示:

      使用js获取数据,数据格式为如下所示 :      

[{"_id":2,"_uid":2,"_state":"added","personName":"张三","email":"[email protected]","position":"java开发实习生"},            {"_id":1,"_uid":1,"_state":"added","personName":"李四","email":"[email protected]","position":"Python爬虫实习生"}]

      通俗的描述:

                       [ {key:value, key:value}, {key:value, key:value} ]

                       [ {一个或多个键值对},{一个或多个键值对} ]

                       [ {一个Json对象} ,{一个Json对象} ]

                        一个Json数组

           将它转为Json数组的字符串,我用的是miniUI的encode()方法,也可以用toJSONString()/JSON.Stringify()方法。然后用这里jsonArray 是多个json对象的集合,也就是json数组对象,需要循环遍历它,然后把需要的值取出来。

 String json =Tools.filterNull(request.getParameter("json")).replace(""","\"");
 JSONArray jsonArray = JSONArray.fromObject(json);
 for(int i = 0; i < jsonArray .size(); i++) {
      JSONObject jsonObject = jsonArray.getJSONObject(i);
      String personName = jsonObject.get("personName").toString();
      String email = jsonObject.get("email").toString();
      String position = jsonObject.get("position").toString();
      ……
} 
     这样,Json数组从前端  传送到  后端,再处理的过程就OK了。

扫描二维码关注公众号,回复: 1909299 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_29622845/article/details/79024418
今日推荐