javascript - JavaScript:如何获取 JSON 对象值并在 JSON 响应中只有一个值
问题描述
有一个 API,如果我们传递一个参数,它会给出 JSON 对象响应。但我的回应只有一个对象['virat']
。并且尝试对条件语句进行比较,无法获得没有括号和冒号的值,需要纯文本,如virat
.
例如:playerName == "virat"
//这一步失败,我得到"[virat]"
. 如何在没有任何括号和冒号的情况下获得普通值,
let players = {};
this.http.get("/API/playersAPI",{
headers,
responseType: "text",
params: {
playerid: "test1",
},
}
)
.subscribe((res) => {
players = res;
players = ['virat']; //sample json object...
const playerName = JSON.stringify(players);
if(playerName == "virat"){ //this step failing... need get value "virat" but getting [virat]
//some validation
}
},
err => $(".dummyClass").text("error"),
);
解决方案
您的返回对象不太对劲。看起来您正在尝试在数组内创建一个对象文字并将其传递给玩家。但是,如果您的对象失败,因为您只是在创建密钥。
let players = ['virat'],
test = JSON.parse( JSON.stringify( players ) ),
result = test[0];
console.log( result == "virat" );
或者
let players = [{ 'player': 'virat' }],
test = JSON.parse( JSON.stringify( players ) ),
result = test[0]['player'];
console.log( result == "virat" );
推荐阅读
- javascript - Vuetify 中的自定义日期选择器
- laravel - 无法使用 Twilio 发送 GIF
- laravel - 如何使用子目录?
- html - 为什么 textBody.Append 只是将表头附加到第一条记录而不是其他记录?
- aws-lambda - 为什么我的 AWS 安全组允许流量?
- php - 将数组列表键转换为调用数组并替换值
- c++ - 文件处理,eof() 函数
- wpf - 删除 ObservableCollection 中的项目时出现 InvalidCastException
- wcf - c# wcf服务如何消费调用java客户端
- c# - 成功 HttpContext.SigninAsync 后未找到声明