1

Parse.com クエリ オブジェクトで JSON.stringify を使用すると、「属性」のみが含まれ、残りは無視されます。オブジェクト全体を文字列化するにはどうすればよいですか?

Parse への私のクエリ、stringify を使用した場合と使用しない場合の結果をログに記録します。

    // Parse からレースをロードします    
    var Events = Parse.Object.extend("イベント");
    var query = new Parse.Query(Events);

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

    query.find({
      成功: 関数 (結果) {
        forgeLog("解析から "+results.length+" イベントを取得しました");

        forgeLog("直接ログに記録された配列内の最初のオブジェクト:");
        forgeLog(結果[0]);

        forgeLog("stringify を使用した配列の最初のオブジェクト:");
        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',
    _設定: false,
    _previousAttributes:
     { 名前: 'マッコール モーターワークス',
       レース ID: '0',
       並べ替え順序: 2,
       年: 2012 }
    }

stringify でログに記録されたオブジェクト:

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

更新: 私は実際に自分自身をテストしたところ、最初のオブジェクトを切り取って貼り付け、自分で変数を定義してオブジェクトを手動で定義すると機能します。ただし、Parse から結果を受け取った直後に結果を文字列化すると (コード例のように)、属性部分のみが返されます...ただし、最初のオブジェクトは、Parse から結果をログに記録するときにコンソールから直接コピーしたものです。文字列化します。

4

2 に答える 2

0

うん、私も多くのブラウザをチェックしましたが、すべてが正常に機能しているので、手動で問題は発生しません

パーサーの値を直接設定していると思う場合は、 jsJSON.stringifyで発生します

あるオブジェクトでそれを初期化し、そのオブジェクトを渡すこと JSON.stringifyでうまくいくかもしれません 。

于 2012-10-03T20:44:42.877 に答える
0

Parse の Héctor は、次のように説明してくれました。

これは、createdAt、objectId、updatedAt が属性ではないためです。これらはオブジェクト自体のプロパティであるため、JSON シリアライザーによって取得されません。

于 2012-10-04T13:38:54.903 に答える