2014-09-23 5 views
0

일부 몸체는 설명 할 수 있습니다. json 파일에 큰 데이터가 있으며 어떤 점에서 data === smp('Report')과 같이 선택해야합니다.Node JS를 사용하여 기존 파일에 데이터를 선택하고 추가하는 방법은 무엇입니까?

smp("Reports") { 
      smp("firewall_real_time") { 
       smp("Appearance Settings") { 
        int("Alignlogo") = 1812531465 
        int("Alignlogo2") = 980706917 
        str("Alignment") = "" 
        int("Diagram Background Color") = 16777215 
        smp("Fonts") { 
         smp("Copyright") { 
          int("Size") = 10 
          int("Width") = 300 
          int("XAxis") = 500 
          int("YAxis") = 50 
         } 
        } 
// I have to add extra data here so please help me how to add in between { { } }. 
       } 
       } 

감사합니다.

답변

0

이것은 매우 쉽습니다. 나는 당신의 JSON 파일 구조를 알고 있지만, 단순히 만약 당신이하지 않습니다

var data = require('./report.json'); 

그런 다음 "데이터"파일의 모든 동일한 구조와 단지 일반 JS 객체입니다. 이

{ "reports" : [ { "firewall_status" : "on"}]} 

또는 그런 일처럼 보이는 경우, 다음 데이터를 할 수 있도록 :

console.log(data.reports[0].firewall_status); 

을하고 "의"인쇄 할 것이다.

마찬가지로, 당신은 당신이 평범한 구식 JS 객체로 할 거라고 어떤 다른

data.reports.push({firewall_status : "off"}); 

나처럼 뭔가를 할 수 있습니다.

이 완료되면, 당신은 아마 개체를 stringifying와 FS 모듈/w에서 그것을 작성하여 그렇게 할 것이다, 그래서 다시 디스크에 데이터를 기록 할 수 있습니다 :

fs.writeFile('./report.json', JSON.stringify(data, null, 4), function(err) { 
    if(err) { 
     console.log(err); 
    } else { 
     console.log('JSON saved'); 
    } 
}); 
+0

위에게 내가 추가 한 코드, 나는 단지 12790 KB에서 몇 줄을 복사했습니다. 전체 파일 데이터가 데이터와 같으면 나는 if (data === (smp ('Reports)') {}를 사용해야한다고 생각합니다. '{'및 '}'이 (가) 혼동을 일으킬 정도로 혼란 스럽습니다. {{{{{{{{{데이터 문자열}}}} 사이에 데이터를 추가하려는 경우 – Kirankamana

+0

? JSON 파일은 당신이 쓴 것보다 더 복잡하지만, 내가 대답 한 것은 여전히 ​​당신이 그것의 정보에 접근하고 수정할 수있게 해줄 것이다. 당신은 더 깊이 중첩해야 할 수도있다. . 즉, 12MB 크기의 데이터 구조를보고 있다면 어떤 경우에도 단일 JSON 파일이 아니라 MongoDB와 같은 데이터베이스를 고려해야합니다. – Paul

+0

감사합니다. json 파일이 아니므로 죄송합니다. Gcf 형식입니다. – Kirankamana

관련 문제