json = { }

JSON 字符串必须使用双引号,单引号会出现错误

三种类型:

      简单值:字符串、数值、布尔值、null

      对象:无序的键值对儿

      数组:有序的值列表

解析:JSON.eval()   //最早期   会执行恶意代码 不建议使用

    JSON.stringify();  // 转化成 json 对象

    JSON.parse();   // 转化成JS对象 object

解析 JSON  需要大写


//js对象
var book = {            
title:"javascript",
    authoers:["taoqun"],
    edition:3,
    year:2016
} // 解析成 JSON对象
var jsontext = JSON.stringify(book); //jsontext 的值为:
{"title":"javascript","authoers":["taoqun"],"edition":3,"year":2016} // 解析 javascript 对象 JSON对象才能解析
var parse_value = JSON.parse(jsontext); 试验:

  var s = {
    "ss":123,
    "asd":"asd",
    "dww":[123,123],
    "dfg":123
  }
  console.log(s);
  s = JSON.stringify(s);
  console.log(s);
  var a =JSON.parse(s);
  console.log(a);

输入结果:
Object {ss: 123, asd: "asd", dww: Array[2], dfg: 123} //js对象 键会去掉双引号
  {"ss":123,"asd":"asd","dww":[123,123],"dfg":123} //json对象 键会加上双引号
Object {ss: 123, asd: "asd", dww: Array[2], dfg: 123} //JS对象 键会去掉双引号

序列化选项:

  1、过滤结果

 数组 JSON.stringify( js对象 , [数组]  );  只返回包含数组对应属性的值;

 函数   JSON.stringify( js对象 ,  function( key ,value ) );函数接受两个参数 属性 和 属性值 或(键 和 键值)  //属性只能是字符串

 数组:

var book = {
       "title":"hello",
       "name":"taoqun",
       age:24,
       year:2016
} var jsontext = JSON.stringify(book,["title","age"]); // jsontext 的返回值 {"title":"hello","age":24}

函数:

var book = {
      "title":"hello",
       "name":"taoqun",
      age:24,
       year:2016,
      list:[1,2,34]
}

var jsontext = JSON.stringify(book,function(key,value){
          switch(key){
              case "list":
                  return value.join(",");
              case "year":
                  return 2017;
              case "name":
                  return "jay";
              default:
                  return value;
          }
})

console.log(jsontext);

// 返回值:

{"title":"hello","name":"jay","age":24,"year":2017,"list":"1,2,34"}

2、字符串缩进

var jsontext = JSON.stringify(book,null,4);
//返回值键值 缩进四个字符
var jsontext = JSON.stringify(book,null,"--");
//返回值键值 用"--" 显示缩进

3、toJSON() 方法

优先返回toJSON

  //待续

解析选项:

    JSON.parse(book,function(key,value){

})

 

ajax json 学习笔记的更多相关文章

  1. Ajax+JSON学习笔记(二)

    来源:http://www.imooc.com/learn/250 readyState属性 0:请求未初始化,open还没有调用 1:服务器连接已建立,open已经调用了 2:请求已接受,也就是接收 ...

  2. day64—ajax技术学习笔记

    转行学开发,代码100天——2018-05-19 Ajax技术学习笔记 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).AJA ...

  3. AJAX(学习笔记一)

    1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML.什 ...

  4. 20151211Jquery Ajax进阶学习笔记

    四.JSON 和 JSONP 如果在同一个域下,$.ajax()方法只要设置 dataType 属性即可加载 JSON 文件.而在非 同域下,可以使用 JSONP,但也是有条件的. //$.ajax( ...

  5. JSON 学习笔记

    学习使用json过程随笔: json数组格式 var employees = [ { "firstName":"Bill" , "lastName&q ...

  6. Json学习笔记

    一.昨天内容回顾 创建ajax对象 a) 主流浏览器  new  XMLHttpRequest(); b) IE浏览器  new ActiveXObject("Msxml2.XMLHTTP. ...

  7. Jquery+Ajax+php学习笔记

    昨天研究ajax,想作个登陆框,无刷新就把用户名密码提交给后台php程序,验证后发回. 几经琢磨 总算出来前台代码: <script src="./javascript/jquery- ...

  8. JSON学习笔记-1

    1.什么是JSON? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一 ...

  9. javascript-ajax之json学习笔记

    ajax什么时候解析json的时候用eval 1.如果是原生js实现的ajax,就需要eval转json对象 如果使用了类似jquery的js插件,里面有些方法是不需要转的,因为jquery已经帮你处 ...

随机推荐

  1. UESTC--1682

    原题链接: 分析:求最小周期的应用. #include<cstdio> #include<cstring> #include<cmath> #include< ...

  2. Git之git push不手动输入用户名和密码

    每次git push时都要输入用户名和密码,感觉很啰嗦,总结了网上的解决办法,有的发现不可以(原因未知),记录一个对我自己可用的方式,我的是windows. 1:添加环境变量 2:在%HOME%目录下 ...

  3. 曼-惠特尼U检验Mann–Whitney U Test

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...

  4. c#代码访问https服务器以及https的webservice

    代码访问https类似浏览器操作 1.验证证书 2.如果要求客户端证书,提供客户端证书 具体代码如下: 访问https的web public static void ProcessRequest() ...

  5. redis服务启动脚本

    /etc/rc.d/init.d/redis #!/bin/sh# chkconfig: 2345 80 90 # description: Start and Stop redis REDISPOR ...

  6. NAIPC2018-K-Zoning Houses

    题目描述 Given a registry of all houses in your state or province, you would like to know the minimum si ...

  7. NOIP模拟赛16

    NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第一轮Day2 期望得分:100+100+ =200+ 实际得分:100+40+70=210 T1天天寄快递 直接模拟,代码丢了...... T2天天和不 ...

  8. 课程设计——利用信号量实现生产者-消费者问题(java)

    package cn.Douzi.ProductConsume; import java.util.LinkedList; import java.util.Queue; import java.ut ...

  9. jieba文本分词,去除停用词,添加用户词

    import jieba from collections import Counter from wordcloud import WordCloud import matplotlib.pyplo ...

  10. web开发之Servlet 二

    在上一篇文章中,我们演示也证明了Servlet 是一种动态web资源开发的技术,即我可以在浏览器中输入URL,然后就可以在浏览器中看到我们编写的Servlet资源. 那当我们在浏览器上一起一个HTTP ...