163

文字列にダッシュ文字が含まれている場合、json オブジェクトから値を取得できません。

{
"profile-id":1234, "user_id":6789
}

解析されたものを参照しようとするjsonObj.profile-idと返されますReferenceError: "id" is not definedが、jsonObj.user_id は 6789 を返します

外部 API 呼び出しによって返される値を変更する方法がありません。ダッシュを削除するために返された文字列を解析しようとすると、渡された URL などが台無しになります。ヘルプ?

4

4 に答える 4

346

jsonObj.profile-id減算式 (すなわちjsonObj.profile - id) です。

識別子に表示できない文字を含むキーにアクセスするには、括弧を使用します。

jsonObj["profile-id"]
于 2012-12-13T22:31:07.300 に答える
3

この回答に加えて、Node.js で配列構文を使用して JSON にアクセスする場合、[]ネストされたすべての JSON キーはその構文に従う必要があることに注意してください。

これは間違った方法です

json.first.second.third['comment']

「未定義」エラーが表示されます。

これが正しい方法です

json['first']['second']['third']['comment'] 
于 2019-09-01T14:48:29.567 に答える