2016-05-02 14 views
-2
<html> 
    <head> 
    <center> 
     <h2> create object from json string</h2> 
    </center> 
    <script> 
    var text='{"fruits":[' + '{"name":"apple","price":"1000"},' 
       + '{"name":"orange","price":"2000"},' 
       + '{"name":"pine","price":"3000"}]}' 
    obj1=JSON.parse(text); 
    document.getElementById("demo").innerHTml = obj1.fruits[1].name + "" + obj1.fruits[2].price; 
    </script> 
    </head> 
</html> 

このコンセプトではo/pを取得できません。解析する内容を理解できません。jsonの出力がpars.html形式で保存されていません

+1

'innerHTml'または' innerHTML'? – Tushar

答えて

0

使用innerHTML代わりinnerHTml

var text = '{"fruits":[' + '{"name":"apple","price":"1000"}, ' + '{"name":"orange","price":"2000"}, ' + '{"name":"pine","price":"3000"} ] }'; 
 
    obj1 = JSON.parse(text); 
 
    document.getElementById("demo").innerHTML = obj1.fruits[1].name + " " + obj1.fruits[2].price;
<html> 
 

 
<head> 
 
    <center> 
 
    <h2> create object from json string</h2> 
 
    </center> 
 

 
    <div id="demo"></div> 
 
</head> 
 

 
</html>

1

のJavascriptが大文字と小文字が区別され、あなたは現在、innerHTMLの代わりにinnerHTmlを使用しているが動作しません。また

document.getElementById('demo').innerHTML = obj1.fruits[1].name + '' + obj1.fruits[2].price; 

、あなたはtを望むかもしれませんO単にそれを構築する際の問題を避けるために、あなたのJSON文字列を定義するために、単一の行を使用します。

var text = '{"fruits":[{"name":"apple","price":"1000"},{"name":"orange","price":"2000"},{"name":"pine","price":"3000"}]}' 

<body> 
    <center><h2>create object from json string</h2></center> 
    <pre>DEMO</pre> 
    <!-- Required Demo Section --> 
    <div id='demo'></div> 
    <script> 
    // Slightly revised building of JSON collection (to avoid concatenation issues) 
    var text= '{"fruits":[{"name":"apple","price":"1000"},{"name":"orange","price":"2000"},{"name":"pine","price":"3000"}]}'; 
    var obj1= JSON.parse(text); 
    // Use of proper innerHTML property 
    document.getElementById("demo").innerHTML = obj1.fruits[1].name+ ' ' + obj1.fruits[2].price; 
    </script> 
</body> 

をすることができますsee this example in action here。私は発見でき

0

エラー:

  1. innerHTmlinnerHTML
  2. text変数が正しく初期化されていないする必要がありますあなたのページに#dome要素を追加し忘れました。これは解析エラーです。文字列を閉じる引用符とプラスの数字の'+は、以下の例のように文字列を閉じる行に置く必要があります。

var text = '{"fruits":[{"name":"apple","price":"1000"},' + 
 
    '{"name":"orange","price":"2000"},' + 
 
    '{"name":"pine","price":"3000"}' + 
 
    ']}'; 
 

 
obj1 = JSON.parse(text); 
 

 
document.getElementById("demo").innerHTML = obj1.fruits[1].name + " " + obj1.fruits[1].price;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<center> 
 
    <h2> create object from json string</h2> 
 
</center> 
 
<div id="demo"></demo>

関連する問題