0

以下のコードを使用して現在のユーザーのクラス行にアクセスすると? 解析は、関数が次のようにデータセットを返すことを報告します。

{"user":{"__type":"Pointer""className":"_User""objectId":"NFYHCP6Ftw"}
"known_fieldname":"Value"
"known_fn2":"value2"
"known_fn3":"value3"
"objectId":"obFbHtMW4E"
"createdAt":"2014-09-16T15:47:55.047Z"
"updatedAt":"2014-09-16T16:10:55.318Z"
"__type":"Object"
"className":"Answers"}

CloudCode を解析します。

Parse.Cloud.define("Answers", function(request, response) {
    var query = new Parse.Query("Answers");
    query.equalTo("user", Parse.User.current());
    query.first({
        success: function(obj) {
            // kick out "value"...
            console.log("A field I know="+obj.get("known_fieldname"));
            // this for loop doesn't loop thru the field "keys" and "values"
            // what do I replace it with?
            for (var key in obj) {
                if (obj.hasOwnProperty(key)) {
                    console.log("Answer="+obj.get(key));
                    // add to a dictionary to return to caller
                }
            }
            response.success(obj);
        },
        error: function() {
            response.error("Failed to get any answers.");
        }
    });
});
4

1 に答える 1

0

オブジェクトのキーのリストを取得するには、次のようにする必要があります。

var keys = Object.keys(obj.toJSON());

次に、キーを介してループできます。

for (var key in keys) { ...

Parse 開発者は、Parse クラス内のフィールドの名前を知っていると想定していたため、それらにアクセスするためのクリーンな API を (まだ) 提供していなかったと思います。

于 2014-09-17T16:45:55.337 に答える