1

当我在 Parse.com 查询对象上使用 JSON.stringify 时,它只包含“属性”并忽略其余部分。如何对整个对象进行字符串化?

我对 Parse 的查询,使用和不使用 stringify 记录结果:

    // 从 Parse 加载比赛    
    var Events = Parse.Object.extend("Events");
    var query = new Parse.Query(Events);

    query.equalTo("theYear", currentYear);
    query.ascending("sortOrder");       

    查询.find({
      成功:函数(结果){
        forgeLog("Got "+results.length+" 解析事件");

        forgeLog("数组中的第一个对象直接记录:");
        伪造日志(结果 [0]);

        forgeLog("字符串化数组中的第一个对象:");
        forgeLog(JSON.stringify(results[0]));
      },
      错误:函数(错误){
          forgeLog("从 Parse 获取事件时出错");  
      }
    });


直接记录的对象:

    { 属性:
     { 名称:“麦考尔斯汽车厂”,
       种族ID:'0',
       排序顺序:2,
       年份: 2012 },
    _操作:{},
    _肮脏的: {},
    _hashedJSON: {},
    _escapedAttributes:{},
    cid: 'c0',
    id: 'To6lLjzwQw',
    createdAt: '2012-08-09T13:51:29.259Z',
    更新时间:'2012-08-10T13:23:07.280Z',
    _设置:假,
    _previous属性:
     { 名称:“麦考尔斯汽车厂”,
       种族ID:'0',
       排序顺序:2,
       年份:2012 }
    }

使用 stringify 记录的对象:

    {"Name":"McCalls Motorworks","raceId":"0","sortOrder":2,"theYear":2012}

更新:我实际上只是测试了自己,当我通过剪切和粘贴第一个对象并自己定义变量来手动定义对象时它可以工作。但是,当我在从 Parse 接收结果后直接对结果进行字符串化(如示例代码中所示)时,它只返回属性部分......但第一个对象是我在尝试从 Parse 记录结果之前直接从控制台复制的内容字符串化。

4

2 回答 2

0

是的,我还检查了许多浏览器,但一切正常,手动操作没有任何问题

我认为你在JSON.stringify某些时候直接设置解析器值它发生在js中

尝试一件事在某个对象中初始化它并将该对象传递给它 JSON.stringify可能会工作

于 2012-10-03T20:44:42.877 回答
0

Parse 的 Héctor 能够向我解释:

这是因为 createdAt、objectId、updatedAt 不是属性。它们是对象本身的属性,因此 JSON 序列化程序不会拾取它们。

于 2012-10-04T13:38:54.903 回答