【转】JavaScript eval处理JSON数据 为什么要加括号

由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象。利用eval函数无疑是一种简单而直接的方法。在转化的时候需要将JSON字符串的外面包装一层圆括号:
var jsonObject = eval("(" + jsonFormat +
")");
为什么要加括号?
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}");  // return
undefined
alert(eval("({})");// return object[Object]

【转】JavaScript eval处理JSON数据 为什么要加括号,布布扣,bubuko.com

时间: 2024-10-25 05:34:40

【转】JavaScript eval处理JSON数据 为什么要加括号的相关文章

JS中eval处理JSON数据 为什么要加括号

由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数无疑是一种简单而直接的方法.在转化的时候需要将JSON字符串的外面包装一层圆括号: var jsonObject = eval("(" + jsonFormat + ")"); 为什么要加括号? 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制

JavaScript如何处理解析JSON数据详解

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’ 对”之间使用“,”(逗号)分隔.具体细节参考http://www.json.org/j

JavaScript中解析JSON数据

1.eval()方法 解析JSON数据的最常用方法是使用javascript的eval()方法,代码如下: function toJson(str){ var json = eval('(' + str + ')'); return json;} 2.new Function方法 该方法存在性能和安全方面的问题,不建议使用. function toJson(str){ var json = (new Function("return " + str))(); return json;}

javascript eval和JSON之间的联系

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zn-ch"> 3 <head> 4 <

【javascript】解析json数据

var jsonObj = [{ "id": "001", "name": "朱云", "sex": "female", "school": [ { "name": "北京中医药大学" }, { "address": "北京" } ] }, { "id": "

js eval() 解释json数据

使用ajax调用服务端数据时,得到返回的数据格式为json时,如:{"error":{"code":-1,"msg":"文件格式有误,请上传图片(gif,jpg,jpeg,png,bmp)文件"}} 对于这样的json格式的数据,可以使用js的eval()格式进行转化为json解释. function upload(imgFile, image) { $.ajaxFileUpload({ url : '@{front.acco

基于jq和json数据实现异步加载动态网页

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" type="text/css" href="css/iconfont.css"/><link rel="stylesheet" ty

JavaScript如何处理JSON数据

JSON (Javescript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’ 对”之间使用“,”(逗号)分隔 举个简单的例子: js 代码 function sho

让C#可以像Javascript一样操作Json

Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 来自百度百科的介绍 Json的优点 数据格式比较简单,易于读写,格式都是压缩