zoukankan      html  css  js  c++  java
  • JSON.parse()、eval()和JSON.stringify()

    1.什么是JSON?

      JSON全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON 与XML具有相同的特性,是一种数据存储格式,但是JSON相比XML 更易于人编写和阅读,更易于生成和解析。

    2.json对象和json字符串

    json对象可以直接调用其属性【对象.属性进行调用】,json字符串需转化为json对象才可以调用其属性

    1 var person={"name":"tom","sex":"男","age":"24"}//json对象
    2 console.log(person.name);//在控制台输出tom
    3 alert(typeof(person));//object
    4 
    5 var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字符串
    6 console.log(b);//{"name":"2323","sex":"afasdf","age":"6262"}
    7 alert(typeof(b));//string

      

    3. eval() 和JSON.parse()将json字符串解析成json对象

      JSON.parse()可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的。

     var cardList = eval('('+cards+')');
    
     var cardList = JSON.parse(cards);
    

      

      

    4.JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串,前台JavaScript 封装请求参数时经常用到。

    //定义变量
    var cards={
      name : "tianming",
    age : 18
    };
    var cardList = JSON.stringify(cards)

    5、js文件中发Ajax请求、post请求、get请求

     1 var mydata = {username:$("#username").val(), content:$("#content").val()};//定义变量
     2 $.ajax({
     3      type: "GET",
     4      url: "test.json",
     5      data: JSON.stringify(mydata),//使用变量
     6      dataType: "json",
     7    contentType:"application/json",
     8    //执行成功的回调函数
     9      success: function(data){
    10            console.log(data); 
    11      },
    12     //执行失败或错误的回调函数
    13     error:function(error){    
    14        console.log(error);
    15     }
    16 });
    1 var sendData = {
    2     phoneNo : phoneNo,
    3     content : content,
    4     isAllow :isAllow
    5 }; 
    6 
    7 $.post( ctx+"teas/saveTeasing.do",JSON.stringify(sendData), function( data ) {
    8       console.log( data); 
    9   }, "json");

    6、springmvc项目中,后台【@RequestBody TblGiftDto tblGiftDto】接收前台传入的参数是json字符串。

    7、@ResponseBody,该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用。

      

  • 相关阅读:
    jquery获取网页在浏览器中可见宽度与高度
    mysql子查询
    ffmpeg 转码并截图的命令分析
    mysql find_in_set 与 in 的用法与区别,mysql范围搜索,mysql范围查询
    CSS一行显示,显示不下的用省略号显示
    js如何通过变量调用函数,函数名在变量里面
    jq自定义下拉菜单,在点击非当前下拉菜单区域时,关闭下拉菜单(点击事件的对象不是目标元素本身)
    解决JS浮点数(小数)计算加减乘除的BUG
    php裁剪图片
    百度蜘蛛ip段代表的不同含义
  • 原文地址:https://www.cnblogs.com/beidongxing/p/7125921.html
Copyright © 2011-2022 走看看