eval()解析object出现Unexpected identifier异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eval()解析object出现Unexpected identifier异常相关的知识,希望对你有一定的参考价值。

我用chrome浏览器调试时 ,出现Unexpected identifier异常 ; 提示异常代码是:
var mytel = eval(“(”+text+“)”);
text数据是从后台获取的 :
这是json转换的list对象里的数据:
["sex":0,"username":"cdy","address":"a","tel":110,"name":"tb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":120,"name":"zb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":119,"name":"wb","group":"朋友"]

你本来就是数组,还eval什么呢,要字符串才可以啊

var arr = '["sex":0,"username":"cdy","address":"a","tel":110,"name":"tb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":120,"name":"zb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":119,"name":"wb","group":"朋友"]';

undefined

arr
"["sex":0,"username":"cdy","address":"a","tel":110,"name":"tb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":120,"name":"zb","group":"朋友","sex":0,"username":"cdy","address":"a","tel":119,"name":"wb","group":"朋友"]"

var mytel = eval(arr);

undefined

mytel
[
Object
,
Object
,
Object
]追问

大哥我是从后天获取的,通过var text = document.createTextNode(HttpRequest.Text);方法获取的是字符串啊。

追答

那就是字符串里面有不能解析的非法字符

追问

是因为中文字符不行?

追答

那你得测试下 了,标点符号,中文,特殊符号等等,百分号,冒号,警号,等等很多的

参考技术A var text = document.createTextNode(HttpRequest.Text);我看你的追问里写了这句,那这个text已经变成文本节点了,是个dom对象,不能用eval来执行本回答被提问者采纳 参考技术B var json = "'a':1,'b':2";
var a=eval('('+json+')');
alert(a);//[Object Object]
alert(a.a);//1
alert(a.b);//2
alert(a['a'])//1
alert(a['b'])//2

具体如下:

1、简介C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

2、基本介绍

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

3、运算

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

浅析 eval 解析json

 eval 定义

  eval(string)  string:字符串形式的表达式或语句。

  json="{‘name‘:‘‘test“,"value":"100"}";

  json 格式和JavaScript语句块 一样 不是字符串表达式和语句;

  在使用eval 将json 转化为json对象时,需要将json转化为字符串形式 既 eval(“(”+json+“)”)。

  

 

 


  

   

 

以上是关于eval()解析object出现Unexpected identifier异常的主要内容,如果未能解决你的问题,请参考以下文章

js解析json字符

解决json string转object,value值存在英语双引号,无法解析问题。以及遇到value值中有双引号,如何解析成功。

解决json string转object,value值存在英语双引号,无法解析问题。以及遇到value值中有双引号,如何解析成功。

解析Json,出现Array&Object冲突

浅析 eval 解析json

eval解析JSON中的注意点