Samples_JSON - gfd-dennou-club/mrubyc-esp32 GitHub Wiki
一般的な利用例
プログラム例
str = '{ "Ocean": { "Squid":10, "Octopus":8 } }'
json = JSON.parser(str)
p json
p json["Ocean"]["Squid"]
puts json.pretty_generate
str2 = JSON.generate(
{
"Ocean" => {
"Squid" => 10,
"Octopus" => 8
}
}
)
puts str2
出力例
{"Ocean"=>{"Squid"=>10, "Octopus"=>8}}
10
{
"Ocean": {
"Squid": 10,
"Octopus": 8
}
}
{"Ocean":{"Squid":10,"Octopus":8}}
途中で切れたJSONの利用例
プログラム例
str = <<JSON
{
"first": {
"temp": [23.4, 0],
"humidity": 94
},
"second": {
"temp": [23
JSON
json = JSON.parser_first(str)
p json
puts json.pretty_generate
出力例
{
"first": {
"temp": [
23.4,
0
],
"humidity": 94
}
}
HashをJSONへ変換
プログラム例
data = {
"Ocean" => {
"Squid" => 10,
"Octopus" => 8
}
}
str = JSON.generate(data)
puts str
出力例
{"Ocean":{"Squid":10,"Octopus":8}}
配列を含むデータを JSON へ変換
プログラム例
data = {
"station" => "Matsue",
"temperatures" => [23.4, 23.5, 23.6]
}
str = JSON.generate(data)
puts str
出力例
{"station":"Matsue","temperatures":[23.4,23.5,23.6]}
数値、真偽値、nil を含むデータを JSON へ変換
プログラム例
data = {
"temperature" => 23.4,
"humidity" => 94,
"raining" => false,
"valid" => true,
"error" => nil
}
str = JSON.generate(data)
puts str
出力例
{"temperature":23.4,"humidity":94,"raining":false,"valid":true,"error":null}