转换字符串为json对象的方法详解_基础知识

JSON是一种便于操作使用的轻量级数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。具体介绍请查看:http://www.json.org/。

很多时候我们需要组装字符串为json对象,首先要组合字符串,然后转换为json对象,如下面的例子:

复制代码 代码如下:

<script type="text/javascript">
  <!--
  var a=50,b="xxx";
  var arr="{id:"+a+",name:'"+b+"'}";
  //-->
</script>

组合成了字符串arr,下一步就是转换成对象了,很快我们会想到使用eval方法,但如果这样做转换会出现错误,今日偶就这样尝试了,那该如何转换成json对象呢?郁闷许久,之后在json官网提供的json.js文件中找到了解决办法,方法如下:

在字符串两端再加上括号然后eval就ok了。测试代码如下:

复制代码 代码如下:

<script type="text/javascript">
  <!--
  var a=50,b="xxx";
  var arr="{id:"+a+",name:'"+b+"'}";
  arr=eval('('+arr+')')
  alert(arr.name);
  //-->
</script>

上面代码执行后会弹出“xxx”,说明已经成功转换为json对象了,一个似乎很简单的问题,不过还是郁闷了半天才解决掉,还是记到blog上以加深印象,也希望能帮助遇到此问题的朋友早日解除郁闷。

时间: 2024-11-02 20:39:15

转换字符串为json对象的方法详解_基础知识的相关文章

Javascript中的迭代、归并方法详解_基础知识

迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的函数,如果每项都返回true,那么就会返回true filter() 对数组中的每一个项运用给定的函数,把返回true的项组成一个新数组并返回 forEach() 对数组中的每一项运用给定的函数,但是没有任何的返回值 map() 对数组中的每一个项运用给定的函数并返回每次函数调用的结果组成新的数组

JavaScript原生对象之Date对象的属性和方法详解_基础知识

创建 Date 对象的语法: 复制代码 代码如下: //Date 对象会自动把当前日期和时间保存为其初始值. new Date(); //value-毫秒:代表自世界协调时1970年1月1日00:00:00开始的数值. new Date(value); //dateString-日期字符串:表示日期的字符串值.此字符串应该是在parse方法中识别的格式. new Date(dateString); //year-年:代表年份的整数值.为了避免2000年问题最好指定4位数的年份; 使用1998,

javascript中call apply 与 bind方法详解_基础知识

在JavaScript中,call.apply和bind是Function对象自带的三个方法,本文将通过几个场景的应用,来详细理解三个方法. call() call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 当调用一个函数时,可以赋值一个不同的 this 对象.this 引用当前对象,即 call 方法的第一个参数. 通过 call 方法,你可以在一个对象上借用另一个对象上的方法,比如Object.prototype.toString.call([]),

基于JavaScript实现继承机制之调用call()与apply()的方法详解_基础知识

call() 方法call() 方法是与经典的对象冒充方法最相似的方法.它的第一个参数用作 this 的对象.其他参数都直接传递给函数自身.例如: 复制代码 代码如下: function sayHello(sPrefix,sSuffix) {    alert(this.name + "says" + sPrefix + sSuffix);}; var obj = new Object();obj.name = "Tom"; sayHello.call(obj, &

JavaScript操作HTML元素和样式的方法详解_基础知识

JavaScript HTML DOM 元素(节点)创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素.  实例 <div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> <

JavaScript SetInterval与setTimeout使用方法详解_基础知识

setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码.区别:window.setTimeout("function",time)://设置一个超时对象,只执行一次,无周期 window.setInterva

JavaScript splice()方法详解_基础知识

定义和用法splice() 方法用于插入.删除或替换数组的元素.语法arrayObject.splice(index,howmany,element1,.....,elementX)参数 描述index 必需.规定从何处添加/删除元素.该参数是开始插入和(或)删除的数组元素的下标,必须是数字. howmany 必需.规定应该删除多少元素.必须是数字,但可以是 "0".如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素. element1 可选.规定要添加到数组的新元素.

微信开发 微信授权详解_基础知识

最近有机会做到一个微信项目:把其中自己整理的笔记分享给大家,有不足或错误的地方望大家指正! 1关于微信授权这块的流程图,如下 一些代码碎片仅供参考: var myNickname; var myHeadimgurl; var activityId; function saveData() { //$("#divShow").show(); var obj = {}; obj.openId = myOpenId; obj.nickname = myNickname;// 微信昵称 obj

javascript入门&amp;#183;对象属性方法大总结_基础知识

今天是我们js入门系列演示的最后一节了(暂时我是这样计划的),但是请朋友们记住,前面的实例你都很熟悉了的话也不代表我们就懂了JS,甚至连入门我们都不得不承认我们只是站在门槛上,还没有进去呢,那你可能要问,为什么要匆匆结束呢?答案很简单,我们的最终目标是AJAX/Atlas,在以后的入门教程中我们还会接触大量的JS的东西,而我这个懒人繁冗的注释一定不会让你失望的,所以更多JS我们以后继续学习,下面我们必须把JS最重要的东西--<对象>的方法和属性都熟悉下,因为这可是非常重要的,而这篇Post你大