A.Js中读取JSON的方法探讨

Js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回

var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name

方法二:js中著名的eval函数  使用eval方法必须加括号

var strJSON = "{name:'json name'}";//得到JSON的字符串格式
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象 必须前面加括号
alert(obj.name);//json name

第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则

var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(obj.constructor);//String 构造函数
alert(obj.name);//undefine

必须把对象表达式扩起来eval执行才能生成一个匿名对象!

获取JSON中key值和value值

for (var key in jsonObj)
{
var value = jsonObj[key];
}

B. JSON对象转字符串:

//json对象转字符串形式
function json2str(jsonObj) {
var arr = [];
var fmt = function(s) {
if (typeof s == 'object' && s != null)
{
return json2str(s);
}
return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
}
for (var i in jsonObj)
{
arr.push("'" + i + "':" + fmt(jsonObj[i]));
}
return '{' + arr.join(',') + '}';
}

Js中字符串转Json与Json对象转字符串相关推荐

  1. JS中简单实现 xml转json 导入即可使用

    JS中超级简单xml转json   导入即可使用 在网上找了一大队xml转换json 都是又长有不可用,乱七八糟  最后只能自己些了 简单方便,传入即可使用 function xmljson(xml) ...

  2. [JQuery]jQuery中serializeArray方法的使用及对象与字符串的转换

    使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...

  3. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  4. 在JS中利用for...in循环遍历对象

    for...in循环可以在js中遍历对象或者数组,比如当我们想要输出内容中的所有对象,就可以使用for...in循环 <script> //使用方法 for(键 in 对象)var obj ...

  5. JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。朗郎视力保健按摩服务中心,计次卡服务,消费一次扣减一次,记账式的消费卡,只要带手机即可,不用实体卡

    JavaScript 中的对象 在 JavaScript 中,对象是数据(变量),拥有属性和方法. 当您像这样声明一个 JavaScript 变量时: var txt = "Hello&qu ...

  6. JS中的数组转变成JSON格式字符串的方法

    有一个JS数组,如: var arr = [["projectname1","projectnumber1"],["projectname2" ...

  7. js中判断空数组和空对象的方法

    复习的时候做一些学习的笔记总结. javascript的值的类型: 原始值:number.string.boolean.undefined.null.symbol(ES6).bigint(ES10) ...

  8. JS 中判断一个对象是否为数组对象?

    在面向对象中 判断一个对象中 判断一个对象是否为数组 1 可以查找它的原型 (__proto__) 是否为数组对象的原型对象 var arr1 = [1,2,3];console.log(arr1._ ...

  9. JS中函数的prototype属性和对象的__proto__属性

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

  10. js中图片base64格式转文件对象

    通常我们使用裁剪工具裁剪图片后输出的格式为base64格式,而有时需要将图片转为源文件. function dataURLtoFile(dataurl, filename) {//将base64转换为 ...

最新文章

  1. 昨天还在 for 循环里写加号拼接字符串的那个同事,今天已经不在了
  2. [转] Java快速教程
  3. 文件系统的两种文件索引模式extent和blockmap
  4. feign返回null_109、Feign的服务降级和Turbine
  5. JavaSE(十)——set和map集合、异常、File类
  6. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  7. java treeset比较,java中TreeSet的两种排序比较的方式
  8. Agile PLM EC Understand the BOM Publishing Process
  9. 动态规划之图像压缩问题
  10. 云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离
  11. [Database] 不知道表名和字段查找值=1234的数据.
  12. redis常见问题和解决方案
  13. 达内 python培训视频教程
  14. Error: Unable to execute “/usr/bin/vmware-uninstall-tools.pl.终极解决方案
  15. Unity + SteamVR + VIVE Pro进行动作捕捉
  16. 如何解释准确率、精确率与召回率?
  17. 九月读后感《从小工到专家》
  18. 演员选择框三级联动(原生javascript和jquery实现)
  19. VISIO使用技巧汇总
  20. 选择恐惧症的福音之轮盘小程序展示

热门文章

  1. linux 浏览器缓存目录在哪里找,火狐浏览器缓存文件在什么位置?缓存文件位置分享...
  2. Google Chrome Frame 自定义渲染方式,调用ActiveX
  3. 莫言瑞典演讲《讲故事的人》
  4. 背包问题回溯法c语言程序,C语言回溯法解决背包问题
  5. Windows驱动加载工具---DriverLoader
  6. editplus使用php,EditPlus如何运行php文件
  7. 《软件工程》— 实用软件工程——习题答案
  8. PHP的威胁函数与PHP代码审计
  9. 花生壳域名解析更新代码(C#),不想安装花生壳客户端的可以用这个
  10. ZXing拍码后区分扫描到的是一维码、二维码、其他码