关于JQUery.parseJSON()函数的知识札记(持续更新中。。。)

JSON数据也许大家都很陌生,而对我来讲属于半成品,由于项目问题,做web虽然用的是JSON数据格式传输,但是关于解析这一块还真不知道该注意什么,更不知道它是如何解析的,由于最近要把串口通信协议与此一致,所以,今天下午特地了解了一下JQuery.parseJSON()函数的相关知识,在此做一次摘录,成为自己的东西。

1、严格的JSON数据格式:

(1)如果想在网页正确显示自己想要的数据,仅仅通过.parseJSON(jsonstring)函数解析不行,关键在于里面的参数,即JSON数据格式正确与否:

(JSON要求:属性名称必须加双引号,如果对应的属性值是字符串也必须用双引号,不允许是单引号,即所谓的“格式完好”!)

如果传入一个格式不完好的JSON字符串将抛出一个JS异常:如:{id:1};

(2)另外,JSON标准不允许字符串中出现“控制字符”,如“\t”和“\n”,解决这类问题需用反转义的方式,如下正确语句:

$.parseJSON(‘{"name":"ysq\\txzh\\n"}‘);

(3)parseJSON()函数属于全局的jQuery对象;

(4)jQuery.parseJSON()函数的返回值为任意类型,返回解析指定的JSON字符串后的JavaScript的表示。

(5)关于jsonstring参数用法的举例如下:

01、var result1 = $.parseJSON("{}"); // 空的object对象;

02、var result2 = $.parseJSON(‘{"name":"ysq","age":25}‘); // 一个object对象;

alert(result2.name); // ysq;

03、var result3 = $.parseJSON(‘[1,true,"ysq"]‘); // object对象;

alert(result3[2]); // ysq;

04、var result4 = $.parseJSON(‘true‘); // 布尔值:true;

05、var result5 = $.parseJSON(‘null‘); // null;

06、var result6 = $.parseJSON(‘0‘);  // 整数:0;

07、var result7 = $.parseJSON(‘"专注"‘); // 字符串值:专注;

08、var result8 = $.parseJSON("\"专注\"");// 同上;

/ ********** 以下是无效的JSON字符串或非常规的参数值 ***********/

09、var result9 = $.parseJSON(100);// 1.9之前返回null,之后返回100;

010、var result10 = $.parseJSON(1.23);// 同上,返回1.23;

011、var result11 = $.parseJSON(true);// 同上,返回true;

012、var result12 = $.parseJSON(null);// 返回null;

013、var result13 = $.parseJSON(‘‘‘‘);// 1.9前返回null,后抛出错误;

014、var result14 = $.parseJSON(undefined);// 同上;

015、var result15 = $.parseJSON("undefined");// 抛出错误;

016、var result16 = $.parseJSON("12x;xx‘无效的JSONx456");// 同上;

017、var result17 = $.parseJSON(‘{name:"ysq",age:1}‘);// 同上;

018、var result18 = $.parseJSON(‘{"name":\‘ysq\‘,"age":1}‘);// 同上;

019、var result19 = $.parseJSON(‘{"name":"ysq\txzh\n"}‘);// 同上;

2、parseJSON()函数的参数列表:(明晚继续)

时间: 2024-10-10 12:33:12

关于JQUery.parseJSON()函数的知识札记(持续更新中。。。)的相关文章

【java基础】java基础知识,持续更新中。。。

目录 1.重写(override)与重载(overloading)的介绍与区别 ----------------------------------------------------------------------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

基础小知识,持续更新中~

一.一些基础小命令 dir = 查看当前目录文件列表 cd .. 返回上一层目录 cd ../.. 返回上上一层目录 二.关于中文编码 #-*- coding:utf-8 -*-print ("中国") 三.设置notepad++ 快捷键 设置--->首选项--->语言---->勾选替换为空格,tab键自动打印4个空格 视图--->显示符号--->显示空格与制表符. 四.注释 # 单行注释'''多行注释'''""" 多行注释

C++ 基础知识汇总 持续更新

摘录一些C++面试常考问题,写一些自己的理解,欢迎来摘果子. static关键字 用于声明静态对象: 静态函数只在本文件可见.(默认是extern的) 全局静态对象:全局静态对象,存储在全局/静态区,作用域整个程序,在程序结束才销毁: 局部静态对象:在函数内部加上static声明的变量,在首次调用时初始化,然后一直驻留在内存,作用域是该函数,可用于函数调用计数(primary有例子),程序结束释放: 静态数据成员:归属于类,类对象共享,类外初始化,类对象可访问: 静态函数成员:归属于类,只能访问

【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包含:数组类.浏览器类.日期类.函数类.数学类.媒体类.节点类.对象类.字符串类.类型检测类.正则表达式类等内容. 使用方法 1. 引入Bable transpiler以保证支持ES6 <script type="javascript/text" src="./browser

# OpenGL常用函数详解(持续更新)

OpenGL常用函数详解(持续更新) 初始化 void glutInit(int* argc,char** argv)初始化GULT库,对应main函数的两个参数 void gultInitWindowSize(int witth,int height)指定GULT窗口产生的窗口的大小 void gultInitWindowsPosition(int x,int y)指定窗口产生的位置,以像素为单位,默认在左上角 void gultInitDisplayMode(unsigned int mod

Hello World!的各种编程语言程序(持续更新中……)

对于很多学习编程语言新手们,可能接触到的第一个程序就是"Hello World"的输出程序,笔者想在此篇简短的博文中介绍关于各种编程语言的"Hello World"输出程序. 至今,笔者仅仅接触过C++和Python两种编程语言,而且都仅仅是新手,所以此次只能写C++和Python两种语言的"Hello World"输出程序,但此篇博文会随着笔者学习的编程语言种类的增多而不断完善. 1. C++语言 #include<iostream>

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)

演示地址 帐号:admin 密码:admin123 请不要删除用户避免他人无法体验(文章中已经附带源码,源码开放到17讲下载) 快捷地址(QQ群37509873也有相应的下载):   第2讲源码下载  密码:wg0i 最新代码生成器+17讲源码下载 密码:n2ji SwfUpload在MVC4下多文件上传 密码:0ntz 也可以有偿获取一份最新源码联系QQ:729994997价格500 -------------------------------------------------------

W5500问题集锦(持续更新中)

在"WIZnet杯"以太网技术竞赛中,有非常多參赛者在使用中对W5500有各种各样的疑问,对于这款WIZnet新推出的以太网芯片,使用中大家是不是也一样存在下面问题呢?来看一看: 1. W5500不支持自己主动极性变换,有点失望-- 答: 事实上,仅仅要对方支持极性变换就能够实现,如今的设备不支持极性变换的非常少的. 你要是碰到个别老设备连不上,再换交叉线也不迟.基本上2000年以后的设备都没问题的啦~ 原帖来自:9MCU 2. W5500+STM32F0无法通信 问题描写叙述1:我如

[系列汇总] - 二十三种设计模式(持续更新中&hellip;)

摘要 最近在读GOF的Design Patterns: Elements of Reusable Object-Oriented Software(设计模式:可复用面向对象软件的基础),学习前辈们的经验来增加自己的编码设计能力.在学习的过程中,会把我从书上学到的知识以及自己的理解写到这里.一方面能够巩固自己学到的东西同时方便以后的复习,另一方面是希望能够帮助到那些跟我一样不大了解设计模式的人. 我理解的设计模式不是一套固定的代码,更多的是一种设计理念.它能够帮助我们解决特定的设计问题,使我们的程