2016-09-19 30 views
0

javascriptのjson配列から値を取得しようとしています。以下は、私のjavascriptファイルの一部です。私はjsondata.valueを使って値を取得しています。コンソールにjsonデータを正しく表示していますが、jsondata.valueは値を取得するために機能していません。javascriptのjson配列から値を取得する方法

+0

質問を編集してコードを削除したのはなぜですか?私はそれが他の人を助けたと信じています。この質問と回答は今や混乱していませんか?とにかく、それはあなたのために働いてうれしい – josephnvu

+0

それは企業のjsonデータでした。ごめんなさい。 – shek

答えて

0

"jsondata"はDOMのテキストであると思いますか?そうであれば、DOM内の「文字列」を取得し、有効なJavaScriptオブジェクトに解析したいと考えています。そのためには、適切にそれをつかむ必要があります。

var jsondata = document.getElementById("jsonArray").value; 

次にあなたがこの時点で

var jsondataObj = JSON.parse(jsondata); 

それを解析する必要があり、jsondataObjはあなたのデータです。これをあなたのグリッドに入れたいのであれば、それを望みどおりに注入するだけです。既にデータをDOMに注入しているため、XHRHttpRequestの必要はありません。

var gridOptions = { ... [your options here] }; 

document.addEventListener('DOMContentLoaded', function() { 
    var gridDiv = document.querySelector('#myGrid'); 

    new agGrid.Grid(gridDiv, gridOptions); 

    var jsondata = document.getElementById("jsonArray").value; 

    var jsondataObj = JSON.parse(jsondata); 

    function isNumeric(n) { 
     return !isNaN(parseFloat(n)) && isFinite(n); 
    } 

    var parsedData = jsondataObj.map(function(obj) { 
     return Object.keys(obj).reduce(function(memo, key) { 
      var value = obj[key]; 
      memo[key] = isNumeric(value) ? Number(value) : value; 

      return memo; 
     }, {}) 
    }) 

    console.log(parsedData); 

    gridOptions.api.setRowData(parsedData); 

}); 
+0

OK、あなたの言ったことをやってみましたが、このエラーが出ています:Uncaught SyntaxError:予期せぬ入力の終わり(匿名関数)@行var jsondataObj = JSON.parse(jsondata); – shek

+0

あなたの入力のIDは "jsonArray"ですか? josephnvu

+0

また、JSONオブジェクトを既に持っているので、なぜHTTPリクエストを作成していますか?私はこのすべてについて混乱しています。あなたはcodepenやjsfiddleのようにこれを実行できますか? – josephnvu

関連する問題