Tôi đang cố triển khai wysihml5 trong ứng dụng sinatra bằng Activerecord.to_json trên một giá trị không thể phân tích cú pháp lại
Các soạn thảo văn bản giàu hoạt động tuyệt vời và khi tôi gửi biểu mẫu tôi đã nhận bài html quyền điều khiển:
pry:> request.params
=> {"title" => "title text",
"content" => "<b>bold text</b><br><i>italic text</i>",
"_wysihtml5_mode" => 1
}
Sau đó, tôi loại bỏ băm entry "_wysihtml5_mode" từ Request.Params để tạo mục db, sau đó tôi chuyển đổi nội dung để json:
pry:> request.params.delete("_wysihtml5_mode")
=> 1
pry:> request.params["content"].to_json
=> "\"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
pry:> class.create(request.params)
vấn đề là tôi không thể nhận được giá trị của tôi trở lại như khởi điểm:
pry:> class.last.content
=> "\"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
pry:> JSON.parse(class.last.content)
JSON::ParseError: 743: unexpected token at '"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
Làm thế nào tôi có thể lấy lại charcters unicode này để phong cách utf-8 của họ (tôi có thể sai, tôi không thoải mái với bảng ký tự). Dường như trong chuyển đổi để json, một "được thêm vào lúc bắt đầu:?.
"<b>bold => "\"\\u003Cb\\u003Ebold
này có thể là vấn đề Bất cứ ý tưởng
Bạn mong đợi điều gì sẽ xảy ra khi bạn chuyển đổi chuỗi thành định dạng JSON? Bạn không cần một cặp key-> giá trị cho nó để chuyển đổi đúng cách? – miah
Vâng, tôi đã chuyển đổi thành json bởi vì, trong chương trình của tôi, giá trị nội dung đôi khi là một băm, đôi khi là một chuỗi hoặc một mảng ... Tôi không biết họ là một vấn đề với trình phân tích cú pháp JSON và các chuỗi đơn, rằng to_json trên chuỗi đã làm việc. – Joeyjoejoe
vấn đề là JSON làm việc với các cặp giá trị quan trọng, vì vậy '{ "nội dung" => "chữ in đậm
nghiêng văn bản '} .to_json' trả json hợp lệ, nhưng'' chữ in đậm
văn bản in nghiêng ".to_json' không. – miah