Home JSON-변환하기
Post
Cancel

JSON-변환하기

JSON 변환

vue 강의 듣고 하나 만들어보려다 JSON 파일이 필요해짐
데이터 형식이 원하는 방식이 아니라 변환을 시도

원본 json

  • 찾은 json파일의 구조
1
2
3
4
5
6
7
8
9
[
  {
    "abbrev": "gn",
    "nmae": "Genesis",
    "chapters": [
      [],[],[]
    ]
  }
]

창세기의 장과 절이 숫자로 구분되었으면 좋겠는데
“chapters”: [] 안에 31장이 다 들어있고 []로 장이
절은 요소 즉 “”,”” 로 구분이 되어있었다

변환된 json

  • js로 json 구조 변환시키기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const fs = require('fs')

const jsonlist = //해당 파일

let books = [];

for (let i = 0; i < jsonlist.length; i++) {
  let name = jsonlist[i]['name']
  let ab = jsonlist[i]['abbrev']

  for (let zang = 0; zang < jsonlist[i]['chapters'].length; zang++) {
    for (let p = 0; p < jsonlist[i]['chapters'][zang].length; p++) {
      let line = { name: name, abb: ab, chapter: zang+1, verse: p+1, content: jsonlist[i]['chapters'][zang][p]}
      books.push(line)
    }
  }
}

const bookJSON = JSON.stringify(books)
fs.writeFileSync("en_kjv_bible.json", bookJSON)

json파일 [ ] 안에 요소는 {}, {} … 이 되는 구조
하나의 {}가 의미하는 것은 하나의 절이 된다.

1
[{"name":"Genesis","abb":"gn","chapter":1,"verse":1,"content":"In the beginning God created the heaven and the earth."},{"name":"Genesis","abb":"gn","chapter":1,"verse":2,"content":"And the earth was without form, and void; and darkness {was} upon the face of the deep. And the Spirit of God moved upon the face of the waters."},...]

메모

  • 모르는 내용을 하나하나 찾아가면서 작성하였다
  • 맞는 방법인지 어떤 구조가 더 좋은지는 모르겠다
  • 이용할 때 로컬로 json을 사용할 예정
  • 검색 결과를 나타내는 js를 만들 것
This post is licensed under CC BY 4.0 by the author.