javascript - 为什么这个 JSON 对象返回反斜杠?我该如何摆脱它们?
问题描述
为什么这个 JSON 对象返回反斜杠?
我该如何摆脱它们?此外,如何摆脱标题状态代码?
我创建了一个 javascript 获取对象,它获取 URL 并对其进行解析,然后将响应中的对象作为字符串返回,但这在当前上下文中不可用。
JSON 对象返回这样的
{"status":"1","message":"OK","result":"[{\"constant\":true,\"inputs\":[],\"name\":\"findPercentage\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]
但我需要它没有标题并返回一个换行符......
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
解决方案
响应是一个 JSON 字符串,解析时包含 3 个属性:消息、状态和结果。该结果属性的值是另一个JSON 字符串,因此您还需要对其进行解析,并且您将拥有一个格式良好的对象来使用:
fetch('https://api.etherscan.io/api?module=contract&action=getabi&address=0xf7F14205898b2b8bC008148E591B1060BE7a50Fb&apikey=DFMRS7RGGBAZW3ZDKEQTRVMBCA87JVSQVT')
.then(res => res.json())
.then((responseObj) => {
const trueObj = JSON.parse(responseObj.result);
console.log(trueObj);
});
请记住,没有“JSON 对象”之类的东西。如果你有一个对象或数组,那么你就有一个对象或数组,句号。JSON 格式是一种在字符串中表示对象的方法,例如const myJSON = '{"foo":"bar"}'
.
推荐阅读
- react-native - '无法读取 React Native 中未定义的属性'init',我不知道什么是 init
- android - 为什么即使我的物理设备中具有该功能(OnePlus AC2001 Android11.0 - API-30)也会引发 FeatureNotSupportedException?
- android - 将圆形彩色背景应用于 Material PopupMenu 组件的正确方法是什么?
- python - SqlAlchemy - 使用编码时“没有编码的字符串参数”,“没有运算符匹配给定的名称和参数类型”
- c# - 无法取消订阅 Firebase 中的侦听器
- tcl - 如何在中断主 tcl 脚本时杀死后台进程?
- python - 使用python将列名写入txt文件
- matplotlib - Matplotlib UserWarning - 冗余定义的标记
- swift - SwiftUI - 在 ObservableObject 类/依赖注入中使用 EnvironmentObject
- java - 用于多个数据源的 Ingore flyway