2017-10-24 6 views
1

jsonからkeys-valueにアクセスするには?

var obj = { 
     "schema":{ 
      "type":"object", 
      "title":"Event Info", 
      "required":[ 
       "name", 
       "emergency_contact_name", 
       "emergency_contact_no", 
      ], 
      "properties":{ 
       "name":{ 
        "type":"string", 
        "minLength":3, 
        "maxLength":10 
       }, 
       "medical_conditions":{ 
        "title":"Medical Conditions", 
        "type":"string", 
        "maxLength":120 
       }, 
       "emergency_contact_name":{ 
        "title":"Emergency Contact Name", 
        "type":"string", 
        "maxLength":120 
       }, 
       "emergency_contact_no":{ 
        "title":"Emergency Contact Number", 
        "type":"string", 
        "maxLength":120 
       } 
      } 
     } 
     } 

だから私は唯一の「必須」フィールドを取得したいと思い(私は信じますか?)私は、フォームからキャプチャし、以下の情報を持っており、データはJSON形式です。 obj ['schema'] ['required']、obj.schema.required、obj ['schema']が必要です。 ] .schema.required。 これらの作品はありません。私が望む属性を簡単に検索するにはどうすればいいですか?

ありがとうございました。

+0

私たちはあなたを助けることができません。あなたが試したことは絶対に正しいです。 –

+0

'console.log(typeof obj)'とタイプし、結果を教えてください。 –

+0

申し訳ありません、私はいつもjsonについて混乱していますが、私はそれが{}で囲まれ、キー値が ""でエンコードされているのでjsonにあるべきだと思います。これについて私に教えてもらえますか? – leo277

答えて

2

あなたのコメントで述べたように、console.log(typeof obj)プリントstring、それはあなたがJavaScriptの対象に、あなたの文字列を変換する必要があるということです。

このためにはJSON.parseメソッドを使用する必要があります。

obj = JSON.parse(obj); 
let required = obj['schema']['required']; 
+1

ああ、それは働いた。 JSON.parse(obj)を使用しました。どうもありがとうございました。 – leo277

+0

@ leo277、よろしいですか? –

関連する問題