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를 만들 것