이것은 JSON 배열의 내 값 문자열 형식입니다 (JSON 객체가 아님)
value= "[{\"a\":\"test a\"},{\"b\":\"test b updated\"}]"
사용하여 JSON으로 변환하려고 할 때
value=value.to_json
#value= "\"[{\\\"a\\\":\\\"test a\\\"},{\\\"b\\\":\\\"test b updated\\\"}]\""
하지만 내 가치를 이렇게 원해
{"a":"test a","b":"test b updated"}
어떠한 제안 ?
먼저 JSON 문자열을 Ruby 값으로 바꿔야합니다.
arr = JSON.parse(value)
# => [ { "a" => "test a" },
# { "b" => "test b updated" } ]
항목이 해시 인 Ruby 배열을 반환합니다.
다음으로 해시를 단일 해시로 병합해야합니다.
combined_hash = arr.reduce({}, &:merge)
# => { "a" => "test a",
# "b" => "test b updated" }
마지막으로 해시를 JSON으로 되돌립니다.
puts combined_hash.to_json
# => {"a":"test a","b":"test b updated"}
모두 함께:
arr = JSON.parse(value)
combined_hash = arr.reduce({}, &:merge)
puts combined_hash.to_json
# => {"a":"test a","b":"test b updated"}
여기에서 실제 작동을 볼 수 있습니다. http://ideone.com/l5BAiw
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다