Có cách nào dễ dàng để trả lại dữ liệu cho máy khách dịch vụ web trong JSON bằng Rails không?Làm cách nào để hiển thị dữ liệu ở định dạng JSON thông qua dịch vụ web bằng Rails?
Trả lời
Tài nguyên đường ray cung cấp giao diện RESTful cho mô hình của bạn. Hãy xem.
Mẫu
class Contact < ActiveRecord::Base
...
end
đường
map.resources :contacts
khiển
class ContactsController < ApplicationController
...
def show
@contact = Contact.find(params[:id]
respond_to do |format|
format.html
format.xml {render :xml => @contact}
format.js {render :json => @contact.json}
end
end
...
end
Vì vậy, điều này mang lại cho bạn một giao diện API mà không cần phải xác định phương pháp đặc biệt để có được các loại đáp ứng được yêu cầu
Ví dụ:
/contacts/1 # Responds with regular html page
/contacts/1.xml # Responds with xml output of Contact.find(1) and its attributes
/contacts/1.js # Responds with json output of Contact.find(1) and its attributes
Rails monkeypatches hầu hết mọi thứ bạn muốn quan tâm để có một phương pháp #to_json
.
Tắt đầu của tôi, bạn có thể làm điều đó cho các mảng băm, mảng và đối tượng ActiveRecord, bao gồm khoảng 95% trường hợp sử dụng mà bạn có thể muốn. Nếu bạn có các đối tượng tùy chỉnh của riêng bạn, nó là tầm thường để viết phương thức to_json
của riêng bạn cho chúng, mà chỉ có thể mứt dữ liệu thành một băm và sau đó trả về băm được jsonized.
monkeypatches? Tôi không biết điều đó có nghĩa là gì, nhưng tôi có thể đoán nó đề cập đến việc cung cấp phương thức đó cho hầu hết, nếu không phải tất cả, các đối tượng –
Nó đang vá một đối tượng hiện có, thêm phương pháp hoặc thay đổi nó nếu nó tồn tại. Nó thực sự chỉ là phần mở rộng ngôn ngữ động. –
Có một plugin mà chỉ này, http://blog.labnotes.org/2007/12/11/json_request-handling-json-request-in-rails-20/
Và từ những gì tôi hiểu chức năng này đã có trong Rails. Nhưng hãy xem bài đăng trên blog đó, có các ví dụ và giải thích mã.
ActiveRecord cũng cung cấp các phương thức tương tác với JSON. Để tạo JSON ra khỏi đối tượng AR, chỉ cần gọi object.to_json. Để tạo một đối tượng AR ra khỏi JSON, bạn sẽ có thể tạo một đối tượng AR mới và sau đó gọi object.from_json .. theo như tôi đã hiểu, nhưng điều này không làm việc cho tôi.
- 1. Dữ liệu POST ở định dạng JSON
- 2. Làm cách nào để hiển thị EJB 3.1 dưới dạng dịch vụ web REST?
- 3. Làm thế nào để có được dữ liệu được hiển thị của KendoGrid ở định dạng json?
- 4. Cách tốt nhất để hiển thị dữ liệu qua JSON bằng cách sử dụng jQuery
- 5. Làm cách nào để tải lên tệp có siêu dữ liệu bằng dịch vụ web REST?
- 6. làm cách nào để hiển thị chuỗi dưới dạng nội dung html ở dạng web
- 7. Tiêu thụ dữ liệu xml qua Dịch vụ Web C#
- 8. Nhận siêu dữ liệu OData $ ở định dạng JSON
- 9. Làm cách nào để gửi thông tin tới một dịch vụ web bằng C# bằng .NET?
- 10. Làm thế nào để hiển thị một mảng json ở định dạng bảng?
- 11. Làm cách nào để nhận dữ liệu JSON từ dịch vụ RESTful bằng Python?
- 12. Làm cách nào để thêm dữ liệu mới thông qua dịch vụ REST phản đối dịch vụ kiểu RPC?
- 13. Cách hiển thị thông báo từ dịch vụ nền?
- 14. Làm cách nào để hiển thị đối tượng Ngày ở định dạng cụ thể bằng JavaScript?
- 15. Lấy dữ liệu Google Map KML ở định dạng JSON
- 16. Cách hiển thị dịch vụ REST cho JSON?
- 17. Làm cách nào để xác thực dữ liệu JSON vào bên trong một dịch vụ REST?
- 18. Làm cách nào để định dạng giá trị được hiển thị trong trường chỉnh sửa Rails?
- 19. Đường ray hiển thị dữ liệu JSON với Model Root
- 20. Làm cách nào để Deserialize dữ liệu JSON?
- 21. $ .jquery ajax dữ liệu trả về (json) hiển thị dưới dạng 'không xác định'
- 22. Dịch vụ web wcf json
- 23. Làm thế nào để hiển thị dữ liệu từ cơ sở dữ liệu thông qua chú giải công cụ?
- 24. Làm cách nào để sử dụng dữ liệu json từ tệp bên ngoài bằng dịch vụ an toàn angularJS
- 25. Dịch vụ web Prestashop trả lại JSON
- 26. Cách hiển thị giao diện trong dịch vụ web
- 27. Rails 3 Dịch vụ web RESTful với json
- 28. Làm thế nào để hiển thị thông báo lỗi JSON?
- 29. Làm thế nào để tôi nhận được FullCalendar hiển thị thông tin từ nguồn cấp dữ liệu JSON của tôi?
- 30. Cách hiển thị báo cáo cognos dưới dạng dịch vụ web
Câu trả lời hay! Nếu tôi có thể cập nhật nó lên Rails 3, phương thức json bây giờ có vẻ là to_json. Ít nhất đó là những gì làm việc cho tôi ... tức là @ contact.to_json – codedog