-3

「きれいな」JSON をコンパクトな形式に変換する必要があるため、次の手順に従いました。

  1. ファイルから「きれいな」JSON を読み取ります。
  2. temp = JSON.parse(json_string)
  3. jsonstring = temp.to_s

解析するjson_stringと、 がスローされ unexpected tokenます。

これは「きれいな」バージョンです:

{
   "key1" : "value1",
   "key2" : "value2"
}

そしてコンパクト後のバージョン:

{"key1"=>"value1","key2"=>"value2"}

Java で記述した場合、JSON を:,=>区切り文字で解析できました。しかしRubyはそれを受け入れません。

4

2 に答える 2

0

Ruby の JSON を使用すると、次のように記述できます。

JSON[JSON[json_string]]

これは次と同等です。

(JSON.parse(json_string)).to_json

最初の例では、JSON はパラメーターのクラスを調べて、それが文字列かどうかを確認し、そうであれば、Ruby ハッシュに解析します。次に、外側の JSON がそのパラメーターをチェックし、それがハッシュであることを確認して、JSON 文字列に戻します。詳細については、を参照JSON[]してください。

require 'json'

str = '{
   "key1" : "value1",
   "key2" : "value2"
}'

puts str
# >> {
# >>    "key1" : "value1",
# >>    "key2" : "value2"
# >> }

JSON[str] # => {"key1"=>"value1", "key2"=>"value2"}

puts JSON[JSON[str]]
# >> {"key1":"value1","key2":"value2"}
于 2013-08-26T13:50:39.357 に答える