반응형
올바른 형식으로 JSON 파일에 쓰는 방법
루비에서 해시를 만들고 있는데 올바른 포맷으로 JSON 파일에 쓰고 싶습니다.
코드는 다음과 같습니다.
tempHash = {
"key_a" => "val_a",
"key_b" => "val_b"
}
fJson = File.open("public/temp.json","w")
fJson.write(tempHash)
fJson.close
결과 파일의 내용은 다음과 같습니다.
key_aval_akey_bval_b
시나트라(버전 불명)와 루비 v1.8.7을 사용하고 있습니다.
올바른 JSON 형식으로 파일에 쓰는 방법은 무엇입니까?
JSON 라이브러리 필요 및 사용to_json
.
require 'json'
tempHash = {
"key_a" => "val_a",
"key_b" => "val_b"
}
File.open("public/temp.json","w") do |f|
f.write(tempHash.to_json)
end
temp.json 파일은 다음과 같습니다.
{"key_a":"val_a","key_b":"val_b"}
포맷 포함
require 'json'
tempHash = {
"key_a" => "val_a",
"key_b" => "val_b"
}
File.open("public/temp.json","w") do |f|
f.write(JSON.pretty_generate(tempHash))
end
산출량
{
"key_a":"val_a",
"key_b":"val_b"
}
이 질문은 루비 1.8에 대한 질문이지만, 구글 검색 시 여전히 맨 위에 표시됩니다.
루비 > = 1.9를 사용할 수 있습니다.
File.write("public/temp.json",tempHash.to_json)
다른 답변에서 언급된 것 외에, 루비 1.8에서는 하나의 라이너 폼을 사용할 수도 있습니다.
File.open("public/temp.json","w"){ |f| f.write tempHash.to_json }
Ubuntu Linux에서 작동하려면:
Ubuntu 패키지 ruby-json을 설치했습니다.
apt-get install ruby-json
제가 대본을 썼는데
${HOME}/rubybin/jsonDEMO
$HOME/.bashrc
포함:${HOME}/rubybin:${PATH}
(이번에는 bash 명령줄에도 위 내용을 입력했습니다.)
그 후 명령줄에 입력했을 때 동작했습니다.
jsonDemo
언급URL : https://stackoverflow.com/questions/5507512/how-to-write-to-a-json-file-in-the-correct-format
반응형
'programing' 카테고리의 다른 글
jQuery 1.4.1에서 JSON stringify가 누락되었습니까? (0) | 2023.03.26 |
---|---|
json을 사용하여 JSON을 디코딩하고 있습니다.언마샬 vs json.NewDecoder.디코드 (0) | 2023.03.26 |
원인: org.hibernate.휴지 상태예외:Language Resolution 접근'hibernate.dialect'가 설정되지 않은 경우 정보는 null일 수 없습니다. (0) | 2023.03.26 |
Angular에 대한 캔버스 그리기 지침이 이미 있습니까?밖에 JS? (0) | 2023.03.26 |
pandas.io.json.json_normalize with very nested json (0) | 2023.03.26 |