对于两个字符串:

字符串1:{title:{},tooltip:{trigger:"axis"},legend:{data:["新关注人数"]},calculable:true,xAxis:[{type:"category",boundaryGap:false,data:["2016-01-01","2016-01-02","2016-01-03","2016-01-04","2016-01-05","2016-01-06","2016-01-07"]}],yAxis:{},series:[{name:"新关注人数",type:"line",data:[11,11,15,13,12,13,10]}]}

字符串2:

{"title":{},"tooltip":{"trigger":"axis"},"legend":{"data":["新关注人数"]},"calculable":true,"xAxis":[{"type":"category","boundaryGap":false,"data":["2016-01-01","2016-01-02","2016-01-03","2016-01-04","2016-01-05","2016-01-06","2016-01-07"]}],"yAxis":{},"series":[{"name":"新关注人数","type":"line","data":[11,11,15,13,12,13,10]}]}

能看出来两个json有什么区别吗?

放在js中,直接当json数据使用,都能正常的解析出json数据。

但是字符串1,在http://www.kjson.com/中进行格式验证时,出

Parse error on line 1:
{ title: {
-----^
Expecting 'STRING', '}'

字符串2却正常的。

当把在js中,把字符串1和字符串都当成字符串转为json格式数据时,字符串1出错,提示,而字符串却能转换为json格式数据。

是什么原因呢,好像看起来也差不了多少,什么原因呢?

从根本来讲来,还得看一下json的语法定义。

JSON 数据的书写格式是:名称/值对。

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"

重要的事情说三遍:名称/值对包括字段名称(在双引号中),一定要记住最是在双引号中

知识延伸:

JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。

类似 XML

JSON 是纯文本
    JSON 具有“自我描述性”(人类可读)
    JSON 具有层级结构(值中存在值)
    JSON 可通过 JavaScript 进行解析
    JSON 数据可使用 AJAX 进行传输

相比 XML 的不同之处

没有结束标签
    更短
    读写的速度更快
    能够使用内建的 JavaScript eval() 方法进行解析
    使用数组
    不使用保留字

为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
使用 XML
    读取 XML 文档
    使用 XML DOM 来循环遍历文档
    读取值并存储在变量中
使用 JSON
    读取 JSON 字符串
    用 eval() 处理 JSON 字符串

js json 与字符串 转换过程由于书写不统一规范引发的一个问题的更多相关文章

  1. js json和字符串的互转

    json与字符串的互转:    下面格式两种只是针对引号有稍微的区别 var result = JSON.parse("{\"a\":\"擦擦\",\ ...

  2. js json转字符串

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...

  3. js json与字符串相互转换

    JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串

  4. js json与字符串转换

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. JS中将JSON的字符串解析成JSON数据格式《转》

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  6. js如何把字符串转换成json数据的方法

    js如何把字符串转换成json数据的方法 function strtojson(str){ var json = eval('(' + str + ')'); return json; } 方法二 f ...

  7. JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

    首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是j ...

  8. js json简介(json的本质也是字符串)(用于服务器和客户端通信)

    js json简介(json的本质也是字符串)(用于服务器和客户端通信) 一.总结 1.json的语法和js的语法非常像,只是json的键和值都是双引号,因为json的本质也是字符串 2.json是一 ...

  9. JS json对象(Object)和字符串(String)互转方法

    [JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...

随机推荐

  1. windows下python安装pyquery

    安装pyquery之前首先要明确一点,easyinstall 是一款python包管理器,类似于node的npm,用于安装python的扩展包,它安装的包是以*.egg的方式. 要安装pq需要经历以下 ...

  2. nginx https使用

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这 ...

  3. JDBC成绩管理系统

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  4. mysqld.exe占比cpu 100% 解决方案

    进入mysql命令行,输入show processlist; 查看当前有sql语句的记录

  5. GSM模块fibocom G510使用记录

    一、背景:最近在做一个单定位的产品,对低功耗要求较高,选用了G510系列的模块。现在仅做了三块样板,先熟悉下。 二、优点:1.功耗低,和西门子的BGS2差不多;2.注册网络指令简单;3.其他有待发现 ...

  6. WAMP环境启动失败处理办法

    点击控制面板->系统与安全->管理工具->查看事件日志->windows日志->应用程序 查看错误日志,查找错误并解决

  7. IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态

    以下是两种实现效果 1. 自定义cell 继承UITableViewCell 重写 -(void)setSelected:(BOOL)selected animated:(BOOL)animated ...

  8. viewpager接受值图片轮播

    package com.baway.test; import java.util.ArrayList;import java.util.List;import java.util.Timer;impo ...

  9. RF 测试代码体会

    这里的需求是完成一个cc2540 RF测试程序.实现功能为开发板按键控制 RF 发射频率的改变. 首先被告知要用PTM来做这个测试程序,然后我去了PTM的介绍文档,地址为 http://process ...

  10. 渴切API参考手册

    渴切:是国内优秀的开源css框架. 渴切是一个开源中文 (X)HTML/CSS 框架 ,它的目的是减少你的css开发时间.它提供一个可靠的css基础去创建你的项目,能够用于网站的快速设计,通过重设和重 ...