我有这个json文件:
{ " moosy":{ " id":39464441, "姓名":" Moosy", " profileIconId":558, "召唤者等级":30, " revisionDate":1436887737000 } }
由API生成。 这是我的代码:
var http = require('http');
var LolApi = require('leagueapi');
var summonerName = 'moosy';
var server = http.createServer(function(req, res) {
res.writeHead(200);
LolApi.init('MY_VERY_PRIVATE_KEY', 'euw');
LolApi.Summoner.getByName(summonerName, function(err, summoner) {
if(!err) {
var profil = JSON.stringify(summoner);
console.log(profil);
res.write(profil);
var summonerId = profil.summonerName.id;
console.log(summonerId);
res.write(summonerId);
}
})
});
server.listen(8080);
我想将不同的变量提取到ID,NAME,ProfileIconId和summonerLevel。
我还没弄清楚如何使用JSON.parse,你能帮助我吗? :) 我使用的是Node JS。
谢谢!
答案 0 :(得分:0)
转到http://jsonlint.com/并验证您的JSON。你会发现它是无效的。也许这会给你带来麻烦。
答案 1 :(得分:0)
查看以下帖子,了解相关信息。
var summonerName = 'moosy';
var profil = { summonerName : { "id": 39464441, "name": "Moosy", "profileIconId": 558, "summonerLevel": 30, "revisionDate": 1436887737000 } };
ID=profil.summonerName.id;
NAME=profil.summonerName.name;
ProfileIconId=profil.summonerName.profileIconId;
summonerLevel=profil.summonerName.summonerLevel;
答案 2 :(得分:0)
如果要使用字符串变量(如summonerName
)来访问对象的属性,则需要使用不同的语法。
而不是这样做:
var summonerId = profil.summonerName.id;
这样做:
var summonerId = profil[summonerName].id;
第一种方式期望对象字面上有一个名为" summonerName"的属性,它不存在。