为了账号安全,请及时绑定邮箱和手机立即绑定

无法解析包含转义字符的JSON对象

无法解析包含转义字符的JSON对象

鸿蒙传说 2021-05-11 13:18:45
我是javascript新手,只是学习AJAX调用和解析JSON对象,所以我知道我只是缺少明显的东西。我可以从API检索JSON字符串,但无法正确解析。我不确定是否要发送无法解析的JSON对象,或者只是尝试以错误的方式读取字段。感谢您抽出宝贵的时间阅读本文,非常感谢您的帮助,我不知所措。我可以通过this.responseText获取JSON字符串,但是当我尝试访问“标题”字段时,我只会感到无所适从。我正在尝试通过以下方式访问它:this.responseText.title我也尝试过:this.responseText [title]和this.responseText [“ title”]"{\"Id\":220,\"Title\":\"Drawtober 19\",\"YearCreated\":0,\"DatePublished\":\"2018-12-14T03:27:05.51\"}" 这是我从AJAX调用中获得的,也是我尝试获得标题的尝试:var xhttp = new XMLHttpRequest();        xhttp.onreadystatechange = function() {            if (this.readyState == 4 && this.status == 200) {                let x = this.responseText;                let firstTest = JSON.parse(x[0]);                let secondTest = JSON.parse(x.Title);            }        };        xhttp.open("GET", "http://www.faithfulimagination.com/api/artwork/220", true);        xhttp.send();        }我期望看到“ Drawtober 19”,而我得到的只是“未定义”编辑正如Barmar所指出的,该问题最初是在我的API中。我正在调用JsonConvert.SerializeObject并返回一个字符串,而不是仅返回该对象。两次调用JSON.parse(x)都可以像修复我的API一样完美地工作,而只需调用一次即可。谢谢大家这么快回答!似乎每个人都立即意识到我的问题。
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您需要使用将解析字符串解析为一个对象JSON.parse(this.responseText)。您的属性将在该方法返回的对象上。

JSON.parse(this.responseText).Title


查看完整回答
反对 回复 2021-05-27
  • 3 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信