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. poj3469 Dual Core CPU

    Dual Core CPU Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 25576   Accepted: 11033 ...

  2. bnuoj53075 外挂使用拒绝

    题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=53075 第一次给校赛出题,来为自己的题目写一发题解吧. 其实我原本的题意非常简洁: 结果被另一位 ...

  3. hdu 2608 (数论)

    hdu2608  0 or 1 题意:给你一个数N(N < 2^31), 问从 1--N 所有数的因子和S(N),求 S(N)%2 的值. 链接:http://acm.hdu.edu.cn/sh ...

  4. Python内存分配

    一.前言 大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前.其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在 ...

  5. Python数据生成pdf文件

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  6. SpringBoot(五) :spring data jpa 的使用

    原文出处: 纯洁的微笑 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法 ...

  7. vue 一开始

    项目安装 vue init webpack bibivue-router Y npm run dev

  8. SpringCloud学习(1)——SpringCloud概述

    微服务架构: 微服务架构是一种架构模式或者说是一种架构风格, 他提倡将单一应用程序划分成一组小的服务, 每个服务运行在其独立的进程中, 服务之间互相协调,互相配合, 为用户提供最终价值.服务之间采用轻 ...

  9. Eclipse中 如何实现 多行同时编辑

    在编辑的时候按下 SHIFT + ALT +A 之后  鼠标变为 + 号   选择要同时编辑几行  即可编辑(现在eclipse好像只能是编辑一块地方  不能像vs那样 任何地方可以同时编辑  这点很 ...

  10. Python学习笔记(四十)— 内置模块(9)HTMLParser

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432002312 ...