JSON 数据操作

hxb2016 2018-01-18 原文

JSON 数据操作

2018,狗年。如果在你出生日期的年份上加12等于2018的话,私聊我,今年是你的本命年,你得发红包!!! 

子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马)、未(羊)、申(猴)、酉(鸡)、戌(狗)、亥(猪)

JSON:JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式。类似 XML,但比XML 更小、更快,更易解析。

  从上面这句话可以看出:<1> JSON 是纯文本

             <2> JSON 具有层级结构(类似XML,键值对)

             <3> JSON 可通过 JavaScript 进行解析

个人理解为:JSON 是 在js中处理对象和交换数据的,采用键值对方式存贮数据的文本轻量级格式。

JSON 语法:<1> 数据在键/值对中

      <2> 数据由逗号分隔                                                   

      <3> 花括号保存对象    —>   { “name”:”zhangs” , “year”:”18″ }                                  

      <4> 方括号保存数组    —>   { “employees” :[{ ” name”:”zhangs” , “year”:”18″ } ,{ ” name”:”zhangs” , “year”:”18″ }] }   (多个对象)

  获取数据employees[0].name;

接下来,就讲解几种常用的 json 数据处理 (java 和 jsp)

一、jsp –>java

 1.json 操作多个实体对象(列如保存提交多个对象,采用序列化表单,json转换)

    jsp
      <input type="hidden" id="inputForm" name="inputForm"/> 
    js       var inputForm
= $("#inputForm").serializeObject();       $("#inputForm").val(JSON.stringify(inputForm));
    java     String inputForm
= request.getParameter("inputForm");     Employee employee = (Employee) JsonMapper.fromJsonString(inputForm, Employee.class); //(转成实体对象,不能获取冗余的其他对象)     JSONObject json = new JSONObject(inputForm); //(转成Json对象)     String name = json.getString("project.name"); //(获取其他对象值)     String linkphone = json.getString("project.linkphone");

二、java –>jsp

1.json 集合转json
  java     List
<Employee> employeeList = proinfoService.findMapList(employee);     model.addAttribute("employeeList", JsonMapper.getInstance().toJson(employeeList));
  js     对于服务器返回的JSON字符串,如果请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,要将该字符串放于eval()中执行一次。   $.each(eval(employeeList),function(n,value) {   String name
= value.name;   });     由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
2.json 操作对象集合(用于动态加载集合数据)
  java 返回List<Employee>
      Page<Employee> page = new Page<Employee>(Integer.valueOf(start), Integer.valueOf(count));
      String organId = request.getParameter("organId");
      Employee employee = new Employee();
      employee.setIntermediaryid(organId);
      page = employeeService.findPage(page, employee);
      return page.getList();
    
  js
      $.ajax({
          url: '/outer/getEmployeeList',
          type: 'post',
          data: 'start='+start+'&count='+pageSize+'&organId='+organId,
          dataType: 'json',
          success: function(data){
              var str = "";
              for(i = 0; i < data.length; i++){
                  if(0 == i%2){
                      str += '<tr style="background-color:#F4F7FB" onclick="turnToEmployee(\''+ data[i].id + '\')">' + '<td>' + data[i].name+ '</td>'; //(turnToEmployee(\''+ data[i].id + '\') -- \' 转义 单眼号 '  )
                  }else{
                      str += '<tr onclick="turnToEmployee(\''+ data[i].id + '\')">' + '<td>' + data[i].name+ '</td>';
                  }
                  str += '<td>' + data[i].idcard+ '</td>' ;
                  str +=  '<td>' + data[i].linkphone+'</td>'
                  str +=  '<td>' + data[i].workyear+'</td>'
              }
              $(".listTable tbody").empty();
              $(".listTable tbody").append(str);
          }
      });
3.很特殊的一种 json 操作String集合 
  java 返回List<String>
      List 中的元素是按照 add 顺序加载的,并且里面有重复的元素。这就是有序可重复的意思。
      Set 中的元素并没有按照 add 顺序加载的,并且里面没有重复的元素。这就是无序不可重复的意思。
    
      List<String> temp = Lists.newArrayList();
      temp.add(p.getName());
      HashSet<String> h = new HashSet<String>(temp); //(用hashSet 去重顺序不变,集合类型得相匹配)
      temp.clear();
      temp.addAll(h);
      return JsonMapper.toJsonString(temp);

  jsp
      $.ajax({
          url: "",
          type: 'post',
          data: '',
          dataType: 'json',
          async: false,
          success: function(data){
              $("#"+data[d]).css("background", "#6699FF");
          }
      });

 

人依旧,物依然,又是一年;想也好,忘也罢,本是平凡;今儿好,明更好,衷心祝愿;情也真,意也切,常驻心间。提前预祝2018年新年快乐!!!

    

发表于 2018-01-18 14:23 BigBoy520 阅读() 评论() 编辑 收藏

 

版权声明:本文为hxb2016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hxb2016/p/8309511.html

JSON 数据操作的更多相关文章

  1. JSON Web Token 是什么?

    免费获得官方JWT手册并深入学习JWT吧! 简介 JSON Web Token(缩写JWT),是一套开放的标准 […]...

  2. Json Master masters JSON!

    对于一个软件开发人员, JSON 是最熟悉的东西之一了, 每一个开发人员基本上每一天都会跟 JSON 打交道. […]...

  3. 【python】python中的json、字典dict

    定义 python中,json和dict非常类似,都是key-value的形式,而且json、dict也可以非 […]...

  4. QT Json

    404...

  5. Json 和 Jsonlib 的使用

    java后台对json格式数据的解析 什么是 Json JSON(JvaScript Object Notat […]...

  6. 请不要在JDK7及以上用Json-lib了

    【Json-lib 介绍】 Json-lib 是以前 Java 常用的一个 Json 库,最后的版本是 2.4 […]...

  7. JSON对象添加删除属性

    假如目前我们有如下一个Json对象 1 var jsonObj={ 2 3 'param1':22, 4 5 […]...

  8. Flutter中通过https post Json接收Json

    Flutter 已然成为炙手可热前端框架。若问跨平台到底有多香,自然是要多香有多香。今天我就分享这些天研究Fl […]...

随机推荐

  1. Github官网卡、慢、进不去怎么办?来这里看看

    Github官网卡、慢、进不去的解决方案 由于github服务器在国外,导致网页加载很慢甚至无法加载,下面看一 […]...

  2. JavaWeb技术

    1.简介 Java Web是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和we […]...

  3. 对于java的Sting.intern()的一些注意

    今天翻看书时遇到了这样一个问题,对于String.intern()方法又有了一些认识和看法。首先我们看它的ap […]...

  4. PHP数字金额转换大写金额

    早些年做CRM用到的一个金额转换函数,今天从旧项目中拿出来记录一下。金额转换的函数方法有很多,都很不错。不过这 […]...

  5. 推荐: 一个免费开源大型的商城系统_B2B2C+O2O一体化商城系统_OctShop

    这是一个即支持:B2B2C模式,也支持:O2O模式的大型商城系统。类似【淘宝加美团模式】的模式。 B2B2C模 […]...

  6. MySql 如何实现不同数据库同步【2个】

    环境要求: Windows 操作系统 需要Mysql 3.23.15以后的版本。 假设数据库A为主机,数据库B […]...

  7. loadlibrary(xxx.dll) 失败 返回14001 由于应用程序配置不正确 应用程序未能启动.重新安装应用程序可能会纠正这个问 .

    转载请标明是引用于 http://blog.csdn.net/chenyujing1234  欢迎大家拍砖! […]...

  8. 【Excel】如何将第二列的数据与第一列的匹配并将其数据放到与第一列对应的行(VLOOKUP)

    该函数的语法规则如下: VLOOKUP(lookup_value,table_array,col_index_ […]...

展开目录

目录导航