2014-12-09 2 views
3

node.js를 사용하여 중첩 된 json을 csv 파일로 변환하려고합니다. 내 JSON 구조 :node.js를 사용하여 중첩 된 json을 csv로 변환

[ 
{ 
    "Make": "Nissan", 
    "Model": "Murano", 
    "Year": "2013", 
    "Specifications": { 
     "Mileage": "7106", 
     "Trim": "SAWD" 
    }, 
    "Items": [ 
     { 
      "flavor": { 
       "name": "Cherry", 
       "id": 1 
      }, 
      "packSize": { 
       "name": "200ML", 
       "id": 1 
      } 
     }, 
     { 
      "flavor": { 
       "name": "Vanilla", 
       "id": 2 
      }, 
      "packSize": { 
       "name": "300ML", 
       "id": 2 
      } 
     } 
    ] 
}, 
{ 
    "Make": "BMW", 
    "Model": "X5", 
    "Year": "2014", 
    "Specifications": { 
     "Mileage": "3287", 
     "Trim": "M" 
    }, 
    "Items": [ 
     { 
      "flavor": { 
       "name": "Cherry", 
       "id": 1 
      }, 
      "packSize": { 
       "name": "200ML", 
       "id": 1 
      } 
     }, 
     { 
      "flavor": { 
       "name": "Vanilla", 
       "id": 2 
      }, 
      "packSize": { 
       "name": "300ML", 
       "id": 2 
      } 
     } 
    ] 
} 
] 

나는 'JSON-2-CSV'모듈을 사용했지만 그것은 단지 단순한 구조가 아니라 중첩 된 구조를 변환합니다. 'make', 'model', 'year'및 'specification'만 변환되고 'items'는 변환되지 않습니다. 수행 방법 ???

답변

0

항상 같은 수의 열을 갖고 있습니까? 예 : 고정 된 (또는 최대 개수의) 아이템이 있습니까?

Make;Model;Year;Mileage;Trim;Item_1_flavor_name;Item_1_packSize_name;Item_2_flavor_name;Item_2_packSize_name 
+0

예 ... 노. 항목의 json 값에 대한 – Subham

3

모듈을 사용할 수 있습니다 jsonexport는 아주 쉽게,이 샘플 확인 : enter image description here

샘플 :

출력은 사용자가 제공 JSON과 jsonexport을 사용하고 여기에

var jsonexport = require('jsonexport'); var contacts = [{ name: 'Bob', lastname: 'Smith', family: { name: 'Peter', type: 'Father' } },{ name: 'James', lastname: 'David', family:{ name: 'Julie', type: 'Mother' } },{ name: 'Robert', lastname: 'Miller', family: null, location: [1231,3214,4214] },{ name: 'David', lastname: 'Martin', nickname: 'dmartin' }]; jsonexport(contacts,function(err, csv){ if(err) return console.log(err); console.log(csv); }); 

OUPUT :

lastname;name;family.type;family.name;nickname;location 
Smith;Bob;Father;Peter;; 
David;James;Mother;Julie;; 
Miller;Robert;;;;1231,3214,4214 
Martin;David;;;dmartin; 

출처 : https://www.npmjs.com/package/jsonexport

+0

고정, 이전에 언급했는데, 제대로 작동하지 않습니다 .Json 배열로 시도하고 적절한 해결책을 언급하십시오. – Subham

+0

방금 ​​jsonexport로 테스트를했는데 기대했던 것입니까? 'Items.packSize.id, Items.packSize.name, Items.flavor.id, Items.flavor.name, Specifications.Trim, Specifications. 닛산 2,300ML, 2, 바닐라 ,,,,, 1,200ML, 1, Cherry, M, 3287,2014, 쉐어, SAWD, 71062013, 무라노, 닛산 X5, BMW 2,300ML, 2, Vanilla ,,,,, ' –

+0

아니요, 제조업체, 모델 및 연도의 값은 어디입니까? 출력에 공백 값이 있습니다. – Subham

관련 문제