2016-03-24 6 views
-2

私は次のようなJSONがありますjavascriptまたはjqueryまたはangularjsを使用してキーのjson値を取得する方法は?

var jsonobj = { 
    "title" : "Testing", 
    "settings" : { 
    "mysettings" : false 
    }, 
    "jsonlist": ["TestingList"], 
    "testjsonvals": { 
     "Test1": { 
      "name": "name1", 
      "description": "Test1 description" 
      }, 
     "Test2": { 
      "name": "name2", 
      "description": "Test2 description"  
     }, 
     "Test3": { 
      "name": "name3", 
      "description": "Test3 description"    
     } 
    } 
} 

どのように私は1つのアラートメッセージ(のような:Test1 description, Test2 description, Test3 descriptionは私の警告メッセージに表示されるはずです)の私の与えられたJSONからのTest1、Test2を、Test3はの/ショー記述値を得ることができますいずれかをjavascriptまたはjqueryまたはangularjsを使用していますか?私を助けて、事前に感謝してください。

答えて

2

あなたがjsonobj["testjsonvals"](又はjsonobj.testjsonvals)オブジェクトキーを反復しdescription値を連結、またはアレイとjoin()

var jsonobj = { 
 
    "title" : "Testing", 
 
    "settings" : { 
 
    "mysettings" : false 
 
    }, 
 
    "jsonlist": ["TestingList"], 
 
    "testjsonvals": { 
 
     "Test1": { 
 
      "name": "name1", 
 
      "description": "Test1 description" 
 
      }, 
 
     "Test2": { 
 
      "name": "name2", 
 
      "description": "Test2 description"  
 
     }, 
 
     "Test3": { 
 
      "name": "name3", 
 
      "description": "Test3 description"    
 
     } 
 
    } 
 
} 
 

 

 
var msg = []; 
 
$.each(jsonobj["testjsonvals"], function(key,v){ msg.push(v["description"]) }); 
 
alert(msg.join(", "));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1
var message = jsonobj.testjsonvals.Test1.description + ', ' + 
    jsonobj.testjsonvals.Test2.description + ', ' + 
    jsonobj.testjsonvals.Test3.description; 
alert(message); 
1
alert(jsonobj ['testjsonvals'['Test1'].description, + 
     jsonobj ['testjsonvals'] ['Test2'].description, + 
     jsonobj ['testjsonvals']['Test3'].description); 

又は

にそれらをプッシュするべきです0
alert(jsonobj.testjsonvals.Test1.description, + 
     jsonobj.testjsonvals.Test2.description, + 
     jsonobj.testjsonvals.Test3.description); 

このコードは、すべてのtestjsonvals上でこれがループあなた

1

を助け、あなたがjsonobj.testjsonvalsを反復した場合、我々は宇宙と警告

var arr = []; 
for(i in jsonobj.testjsonvals) 
{ 
    arr.push(jsonobj.testjsonvals[i].description); 
} 

alert(arr.join(" ")); 
1

と一緒に参加し、配列に追加した場合、私に教えてください必要なものと一致するように文字列を構築することができます。

var jsonobj = { 
    "title" : "Testing", 
    "settings" : { 
    "mysettings" : false 
    }, 
    "jsonlist": ["TestingList"], 
    "testjsonvals": { 
     "Test1": { 
      "name": "name1", 
      "description": "Test1 description" 
      }, 
     "Test2": { 
      "name": "name2", 
      "description": "Test2 description"  
     }, 
     "Test3": { 
      "name": "name3", 
      "description": "Test3 description"    
     } 
    } 
}; 

var tests = jsonobj.testjsonvals; 
var msg = []; 
for (var i in tests) { 
    if (tests.hasOwnProperty(i)) { 
    msg.push(tests[i].description); 
    } 
} 
alert(msg.join(' ')); 
2

あなたはこの

var tests=jsonobj['testjsonvals']; 
alert(tests["Test1"]['description']) 
のように行うことができます。このような何かはトリックを行う必要があります
関連する問題