2016-10-27 2 views
1

더 명확하게 편집 된 질문입니다!앵귤러 컨트롤러의 배열 json/string 버전 구문 분석에 문제가 발생했습니다.

각도 레일 앱을 제작 중이며 배열 구문 분석에 문제가 있습니다. 내 ActiveRecord 모델 중 하나에는 속성에 대한 배열이 있습니다. 내 레일 컨트롤러에서 내 각 응용 프로그램을 명중하기 전에, 배열은 다음과 같습니다

def show 
    @thing = Thing.find(params[:id]) 
# @thing.list => ["{\"content\"=>\"first index\"}", "{\"content\"=>\"second index\"}"] 
    render json: @recipe 
end 

# resulting json for @thing: 

{ 
    id: 1, 

    title: "thing", 

    list: [ 
      "first index", 
      "second index" 
     ], 
} 

그리고를 다음 번 내 각 컨트롤러의 내부처럼 배열 속성이 보인다 : 나는 그것을 필요 물론

thing.list => ["{"content"=>"one"}", "{"content"=>"two"}"] 

모양은 다음과 같습니다 :

[{content: "one"}, {content:"two"}] 

JSON.parse는 응용 프로그램의 레일과 각도면에서 JSON.parse를 시도했지만 행운은 없습니다.

답변

0

구문 분석 JSON

기존 응용 프로그램 내에서 다른 응용 프로그램에서 수신 또는 을 생성 된 JSON 문자열을 구문 분석하려면

require 'json' 

my_hash = JSON.parse('{"hello": "goodbye"}') 
puts my_hash["hello"] => "goodbye" 

생성 JSON

,691을

통신 또는 직렬화를위한 JSON 문자열을 생성하는 것은 간단하게 과 같습니다.

require 'json' 

my_hash = {:hello => "goodbye"} 
puts JSON.generate(my_hash) => "{\"hello\":\"goodbye\"}" 

또는 다른 방법

: 귀하의 의견 어제

require 'json' 
puts {:hello => "goodbye"}.to_json => "{\"hello\":\"goodbye\"}" 

Ruby docs

+0

뒤늦은 감사합니다. 더 명확하게하고 더 많은 정보를 추가하기 위해 위의 질문을 편집했습니다. 그러나 긴 이야기는 짧습니다. JSON.parse() 배열/json/string/whatever-it-are 속성을 사용하여 운이 없었습니다. 제어 장치. 내 질문에 내 코드 단편에서 볼 수 있듯이 객체는 레일 측면에서 적절한 json을 렌더링하는 것처럼 보입니다. 나는 루비와 자바 스크립트가 다르게 파싱되어야한다고 생각한다. – TDB

관련 문제