如何在从json中检索的不同变量中保存数据

时间:2015-01-29 06:01:12

标签: javascript jquery ajax json

我正在尝试使用nodejs从mongoDB获取html页面中的数据 我在mongo db中有一个播放器集合      球员收藏:[{      ID =值,      名称=值,      得分=值,      秩=值      }] 我试图从nodejs文件中获取名为players.js文件的数据

  $(document).ready(function(){
    $.ajax({ url: "",
            context: document.div,
            success: function(){
             player[]= $(".player").load("/players")

            }});
    });

我正在以这种格式获取数据:

      [
  {
    "_id": "54c600a66770e4ea42e6f324",
    "id": 1,
    "name": "Dipesh",
    "rank": 2,
    "score": 2000,
    "__v": 0
  },
  {
    "_id": "54c600cb6770e4ea42e6f325",
    "id": 2,
    "name": "Aakanksha",
    "rank": 3,
    "score": 3920,
     "__v": 0
 }

当我保存它变量并尝试使用
来打印该变量的值         文件撰写(VARNAME); 它告诉我:

    [object Object]

我想以下列方式获取数据:

      player.name=value,
      player.score=value

喜欢不同变量中的不同值。

请帮我解决这个问题。 Thanx提前

4 个答案:

答案 0 :(得分:1)



var players = [{
  "_id": "54c600a66770e4ea42e6f324",
  "id": 1,
  "name": "Dipesh",
  "rank": 2,
  "score": 2000,
  "__v": 0
}, {
  "_id": "54c600cb6770e4ea42e6f325",
  "id": 2,
  "name": "Aakanksha",
  "rank": 3,
  "score": 3920,
  "__v": 0
}];

for (var i = 0; i < players.length; i++) {
  document.write(players[i].name);
}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

var obj = [{"_id":"54c600a66770e4ea42e6f324","id":1,"name":"Dipesh","rank":2,"score":2000,"__v":0},{"_id":"54c600cb6770e4ea42e6f325","id":2,"name":"Aakanksha","rank":3,"score":3920,"__v":0}];

var temp = [];
$.each(obj,function(i,val){
    player = {};
    player.name =val.name;
    player.score = val.score;
    temp.push(player);
});
alert(JSON.stringify(temp));

<强> Demo

答案 2 :(得分:0)

使用以下代码

player[]是一个数组,这就是你必须使用如下所示的原因。

var name = player[0].name;
var score =player[0].score; 
  • 获取所有元素,您可以在代码下面使用。

    var nameI;
    var scoreI;
    for(var i=0;i<player.length;i++){
       nameI= player[i].name;
       nameI=player[i].score; 
       ...
       ...
       ...
      // you can get all the properties for your object
    }
    

答案 3 :(得分:0)

您所做的就是将json数组存储在player变量中。我假设你的玩家变量看起来像:

var player= [
  {
    "_id": "54c600a66770e4ea42e6f324",
    "id": 1,
    "name": "Dipesh",
    "rank": 2,
    "score": 2000,
    "__v": 0
  },
  {
    "_id": "54c600cb6770e4ea42e6f325",
    "id": 2,
    "name": "Aakanksha",
    "rank": 3,
    "score": 3920,
     "__v": 0
 }

如果要打印json对象,则可以使用JSON.stringify()函数。这将对你的对象进行字符串化。

如果要将其分配给任何变量,为此必须使用$.each()函数遍历此对象。

例如

$.each(player,function(index,item){
  var name=item.name;
  var rank=item.rank;
  and so on...
});