내 Rails 앱에서 JSON을 통해 JS 스크립트로 약간 복잡한 것을 보내서 흥미로운 방식으로 페이지를 렌더링하려고합니다. JS 측면에서 자바에서 복잡한/중첩 된 데이터 표현하기
[
{:name => 'Bill Smith', :state => 'KS'} => [
{:type => 'house', :valuation => 150000},
{:type => 'car', :valuation => 10000}
],
{:name => 'Bubba Jack', :state => 'FL'} => [
{:type => 'boat', :valuation => 12000}
]
]
, 나는 그러나, JS는 키가 허용하지 않는, 개별 필드에 액세스 할 수 있도록하려면 : 우리가 레일의 데이터가 사람과 자산에 관한 것입니다 및 다음과 같습니다 가정 해 봅시다 객체로하는 객체, 그래서 data.to_json은 다음과 같이 하나의 문자열로 모든 사람이 정보를 변환하기 :
[{"{:name=>\"Bill Smith\", :state=>\"KS\"}":[{"type":"house","valuation":150000},{"type":"car","valuation":10000}],"{:name=>\"Bubba Jack\", :state=>\"FL\"}":[{"type":"boat","valuation":12000}]}]
내가 할 수없는 것들에 대한 '올바른'방법은 무엇
var people = Object.keys(data);
for(var i=0; i<people.length; i++) {
var totAsset = 0;
var person = people[i];
for(var j=0;j<data[person].length; j++) {
totAssset = totAsset + data[person][j].valuation
}
alert("got person named " +person.name+" having $"+totAsset);
}
같은 복잡한 d를 표현하고 사용한다. AJAX 앱의 JS 측에서 ata?
업데이트 : 그래서 sgrif와 Andrew의 답변은이 특정 문제에 대한 해결책을 제공합니다. 저는 두 가지 모두 upvoted 했습니다만, 받아들이 기 전에 누군가가 객체를 키 또는 그 기능을 가진 것으로 표현해야한다는 좀 더 일반적인 생각이 있는지를보기 위해 몇 가지를 기다릴 것입니다.