2

まず、私のコードはすべて node.js で作成されていますが、これはすべて javascript にも適用できます。

これは、キーが存在するかどうかを確認するために使用するコードです。問題は、常に false を返すことです。したがって、console.log に追加して、値が何であるかを示します。

if(!choice.name || !choice.realm || !choice.region || !choice.roll){
    console.log(choice);
    console.log(choice.name);
    console.log(choice.realm);
    console.log(choice.region);
    console.log(choice.roll);
    return false;
}

これはその出力です:

{"name":"Imacactus","realm":"Velen","region":"US","roll":"DPS"}
undefined
undefined
undefined
undefined

私はそれが引用符と関係があると思いますか?しかし、引用符がそれを台無しにするということは聞いたことがありません。これは node.js の問題ですか? .hasOwnProperty('realm') も試しましたが、それでも失敗しました。

これは、すべての機能を備えたほとんどのコードです: http://pastebin.com/DUN9VdHr

4

2 に答える 2

7

プロパティを参照する前に、json を解析して javascript オブジェクトにする必要があります。

JSON.parseを使用できます

var choiceobj = JSON.parse(choice);
if(!choiceobj.name || !choiceobj.realm || !choiceobj.region || !choiceobj.roll){

    console.log(choiceobj);
    console.log(choiceobj.name);
    console.log(choicepbj.realm);
    console.log(choiceobj.region);
    console.log(choiceobj.roll);
    return false;

}

于 2013-01-26T23:43:10.623 に答える
-1

問題は、引用符がキーの一部であるため、アクセスするには次のようにする必要があることです。 console.log(choice['"name"']);

于 2013-01-26T23:44:54.740 に答える