有2中方法,使用的场景不太一样,有重合的时候。
一、
xhr.responseText 返回的是字符串形式,在写代码时,有一次遇到返回是:
{“code”:“1”,“data”:{1:“管理员”,38:“季红彬”,60:“wangyu”,62:“叶青柳”},“msg”:“ok”}
这个不是JSON格式,用后面要说到的JSON.parse 无法处理会报错。
这里使用eval处理,
var string = ‘{"code":"1","data":{1:"管理员",38:"季红彬",60:"wangyu",62:"叶青柳"},"msg":"ok"}’ ;
var obj = eval('('+string+')')
成功转为对象。
二、JSON.parse()
要求是严格的JSON格式,
var string1 = '{1:"管理员",38:"季XX",60:"wan",62:"hh"}'; 不行 数字无引号
var string2 = '{'1':"管理员",'38':"季XX",'60':"wan",'62':"hh"}'; 不行 单引号
var string3 = '{"1":"管理员","38":"季XX","60":"wan","62":"hh"}'; 可以
var obj = JSON.parse(string3)