最近遇到一个前端错误:

Unexpected token i in JSON at position 1
    at JSON.parse (<anonymous>)

后台在网上找到答案:

SON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }'; 
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name);

Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

在使用JSON.parse的时候,返回来的数据一定是严格的json格式,key值一定要用 双引号 包起来,否则浏览器就会抛出异常。 
另外,对于不标准的json字符串,如第一种示例,使用eval()虽然可以正常解析,但是从安全的角度来讲,一定要谨慎使用eval方法。规范json格式。

转载 http://www.cnblogs.com/aashui/p/9932175.html

js把string转化为json相关推荐

  1. js中string字符串转换为JSON对象 - 方法大全(4种)

    js中string字符串转换为JSON对象 - 方法大全(4种) jQuery插件支持的转换方式: 示例: //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对 ...

  2. js将object转化为json数据,json数据转js对象

    json数据转js对象:  JSON.parse(); js对象转json数据:  JSON.stringify();

  3. js中String转化为int类型

    方案一代码: Number(String) 方案二代码: parseInt(string, radix) string 必需.要被解析的字符串. radix 可选.表示要解析的数字的基数.该值介于 2 ...

  4. js对象序列化为json字符串

    网上找了找将js对象序列化为json字符串的方法.结果都不近人意,最后自己写了一个. 注意你得自己为Date增加toString()方法. function Serialize(obj){switch ...

  5. js如何生成一个对象,并转化为json字符串

    js如何生成一个对象,并转化为json字符串,很多人都会误写为: var ary = []; var obj = {}; for (var i = 0; i < 3; i++) {obj.nam ...

  6. 7.node.js的Buffer(缓冲区)的合并(concat)、比较(compare)、拷贝(copy)和裁剪(slice)以及如何转化为JSON对象

    文章目录 node.js的Buffer(缓冲区)之二 如何将Buffer转化为JSON对象 Buffer的合并(concat)和比较(compare) Buffer的拷贝(copy)和裁剪(slice ...

  7. 将js对象转化为json对象

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重

    01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...

  9. JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

最新文章

  1. c#.net调用pdf2swf.exe将pdf文件转换为swf,vs中运行正常,布署IIS服务器部署转换后文字部分为空白...
  2. “一百万行Python代码对任何人都足够了”
  3. 在Ubuntu Server上添加NFS共享文件夹
  4. iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)
  5. Swift - 30 - 可变参数
  6. 一个直接运行Windows命令行的软件
  7. 达策— 毕盛财务分析系统
  8. latex箭头表示符号
  9. fckeditor异常总结---java.lang.ClassNotFoundException: org.devlib.schmidt.imageinfo.ImageInfo
  10. 在英特尔® 凌动™ 处理器上将 OpenGL* 游戏移植到 Android* (第二部分)
  11. 计算机网卡的安装过程,千兆网卡怎么装_千兆网卡安装步骤
  12. C语言输出一个菱形图案,最优方案,不需要分上下两部分输出
  13. r语言查找是否存在空值_R语言读取数据空值
  14. YYKit - YYModel 使用方法
  15. 1127 判断完全数
  16. 关于印发《深圳市福田区稳企惠民纾困“十条”政策》的通知
  17. 关于Donews的记忆---从从容容走出那段泥沼
  18. C语言_字符串拼接函数strcat使用及实现
  19. 购买 MathType Academic操作流程
  20. 自动化生产线中的生产节拍主要由工艺操作时间和辅助作业时间所组成

热门文章

  1. Java的socket简单语法实例以及多线程
  2. hihoCoder#1538 大礼堂地毯 (模拟)
  3. 【转】高清混合矩阵应用于佛山市政府大礼堂会议系统解决方案
  4. springboot+JRebel--插件实现热部署
  5. 人工智能轨道交通行业周刊-第33期(2023.2.6-2.12)
  6. git 拉取指定分支
  7. 通过对比3PL和4PL,来了解什么是4PL
  8. arduino养花平台
  9. 谢国忠-高房价伤害老百姓,破坏社会稳定
  10. 站住!我要送你点网格智能干货