2014-07-12 2 views
0

나는 각 $ HTTP 서비스를 사용하여 API 호출을 통해 다시 내 데이터를 얻을 때, 내 데이터는필요 JSON 형식으로 데이터를 변환하는 방법

{"Modules": 
    [{"ModuleId":"4b601ab6-7086-4094-a9dc-392a69cfbaa3","ModuleName":"Membership"}, 
     {"ModuleId":"82372172-6d82-453a-9752-39d31b795ea5","ModuleName":"Loan"}, 
     {"ModuleId":"3b4f4b77-c6d0-4eb5-bd6b-7aad74190783","ModuleName":"ContactUs"}, 
     {"ModuleId":"0ef66293-1356-46f7-b7eb-9394b9eb2e34","ModuleName":"About Us"} 
     {"ModuleId":"6a2fb938-bfda-4799-8b96-a9f6c2886e29","ModuleName":"FeedBack"}, 
     {"ModuleId":"a0a03589-f501-4e72-bad6-bf4743e2a4d1","ModuleName":"Fee",}, 
     {"ModuleId":"9ed698a6-859e-40c6-a063-e6a860b69ea5","ModuleName":"Home"}], 
"SubModules":[{"SubModuleId":"3ac796d0-4eab-4ce8-bb17-3a1a3e6a9431","ModuleId":"4b601ab6-7086-4094-a9dc-392a69cfbaa3","SubModuleName":"Get Membership",}, 
       {"SubModuleId":"fe4d061c-6aa3-4dbd-b5f8-460a85acbda2","ModuleId":"82372172-6d82-453a-9752-39d31b795ea5","SubModuleName":"Structure",}, 
       {"SubModuleId":"614107e2-b9c0-4cc3-a947-512768a910fb","ModuleId":"4b601ab6-7086-4094-a9dc-392a69cfbaa3","SubModuleName":"Our Members",}, 
       {"SubModuleId":"15b02cd2-46b6-481d-9480-d321c9644379","ModuleId":"82372172-6d82-453a-9752-39d31b795ea5","SubModuleName":"form"}, 
       {"SubModuleId":"44ea642a-99d0-4f1a-bdeb-e033ecbd3e55","ModuleId":"4b601ab6-7086-4094-a9dc-392a69cfbaa3","SubModuleName":"Inquiry"}]} 

위 데이터 '모듈'과 '서브 모듈을 관찰하면, 다음과 같다 '는'ModuleId '로 연결됩니다. 나는이 형식 같은 것을 다음에 위의 데이터를 변환 할

,

ModuleName: 
       Membership : 
          Get Membership 
          Our Members 
          Inquiry 
        Loan : 
          structure 
          form 
       Contact Us: 
       About Us : 

나는 JSON은/OBJ 유사하거나 여기에 표시된 관련 싶어. 나는 이것이 완벽하지 않다는 것을 압니다. 하지만 나는 Json을 너무 많이 다루었 기 때문에 이것을 쓰는 방법조차 모른다. 도움이 될 것입니다.

나중에이 데이터를 사용하여 ng-repeat를 사용하여 동적 Menu를 만들고 싶습니다.

+0

그냥 오타가 될 수 있지만 의 끝에 쉼표를 놓치고있어 – SlitCanvas

답변

0

안녕하세요. 도움이 되나요?

var testData = { 
    "Modules": [ 
     { 
      "ModuleId": "4b601ab6-7086-4094-a9dc-392a69cfbaa3", 
      "ModuleName": "Membership" 
     }, 
     { 
      "ModuleId": "82372172-6d82-453a-9752-39d31b795ea5", 
      "ModuleName": "Loan" 
     }, 
     { 
      "ModuleId": "3b4f4b77-c6d0-4eb5-bd6b-7aad74190783", 
      "ModuleName": "ContactUs" 
     }, 
     { 
      "ModuleId": "0ef66293-1356-46f7-b7eb-9394b9eb2e34", 
      "ModuleName": "About Us" 
     }, 
     { 
      "ModuleId": "6a2fb938-bfda-4799-8b96-a9f6c2886e29", 
      "ModuleName": "FeedBack" 
     }, 
     { 
      "ModuleId": "a0a03589-f501-4e72-bad6-bf4743e2a4d1", 
      "ModuleName": "Fee", 

     }, 
     { 
      "ModuleId": "9ed698a6-859e-40c6-a063-e6a860b69ea5", 
      "ModuleName": "Home" 
     } 
    ], 
    "SubModules": [ 
     { 
      "SubModuleId": "3ac796d0-4eab-4ce8-bb17-3a1a3e6a9431", 
      "ModuleId": "4b601ab6-7086-4094-a9dc-392a69cfbaa3", 
      "SubModuleName": "Get Membership", 

     }, 
     { 
      "SubModuleId": "fe4d061c-6aa3-4dbd-b5f8-460a85acbda2", 
      "ModuleId": "82372172-6d82-453a-9752-39d31b795ea5", 
      "SubModuleName": "Structure", 

     }, 
     { 
      "SubModuleId": "614107e2-b9c0-4cc3-a947-512768a910fb", 
      "ModuleId": "4b601ab6-7086-4094-a9dc-392a69cfbaa3", 
      "SubModuleName": "Our Members", 

     }, 
     { 
      "SubModuleId": "15b02cd2-46b6-481d-9480-d321c9644379", 
      "ModuleId": "82372172-6d82-453a-9752-39d31b795ea5", 
      "SubModuleName": "form" 
     }, 
     { 
      "SubModuleId": "44ea642a-99d0-4f1a-bdeb-e033ecbd3e55", 
      "ModuleId": "4b601ab6-7086-4094-a9dc-392a69cfbaa3", 
      "SubModuleName": "Inquiry" 
     } 
    ] 
}; 

실제 코드 : 이것은 당신의 그림처럼 중첩 된 구조를 가진 객체를 생성한다

var structuredData = {}; 

//Iterate over module data 
for (var m = 0; m < testData.Modules.length; m++){ 
    //create key in object for each module 
    structuredData[testData.Modules[m].ModuleName] = {}; 

    //Iterate over sub module 
    for (var s = 0; s < testData.SubModules.length; s++){ 

     //Is sub module belonging to module 
     if(testData.SubModules[s].ModuleId == testData.Modules[m].ModuleId){ 

      //create key in module for sub module 
      structuredData[testData.Modules[m].ModuleName][testData.SubModules[s].SubModuleName] = {}; 
     } 
    } 
} 

console.log(structuredData); 

. } "소개"

http://jsfiddle.net/FQtLW/1/

관련 문제