2010-07-18 34 views
6

Bộ công cụ web của Google có thư viện JSON (com.google.gwt.json.client). Phần 'khách hàng' của tên đó khiến tôi nghi ngờ rằng nó không có ý định sử dụng phía máy chủ. Mã sau trong phương thức RPC phía máy chủ xác nhận sự nghi ngờ của tôi:Xây dựng phía máy chủ JSON bằng Bộ công cụ web của Google

System.out.println("attempting to make JSONArray"); 
JSONArray test = new JSONArray(); 
System.out.println("Made JSONArray"); 

Bằng cách ném ngoại lệ ClassNotFound (JSONArray). Tôi cần xây dựng một số phía máy chủ JSON.

1) Tôi có đúng khi tin rằng tôi không thể sử dụng gói com.google.gwt.json.client trên máy chủ không? 2) Nếu vậy, có một lựa chọn tốt với khoảng cùng một giao diện mà tôi có thể sử dụng để xây dựng JSON trên máy chủ không?

Tôi đang chạy ứng dụng của mình trên App Engine, trong trường hợp nó quan trọng.

+0

có thể trùng lặp của [Json <-> tuần tự hóa Java hoạt động với GWT] (http://stackoverflow.com/questions/683123/json-java-serialization-that-works-with-gwt) –

Trả lời

3

1) Tôi có đúng khi tin rằng tôi không thể sử dụng gói com.google.gwt.json.client trên máy chủ không?

Đúng. Lớp đó chứa rất nhiều phương thức JS nguyên bản - các công cụ quan trọng như get() - và có nghĩa là được biên dịch xuống JavaScript để được sử dụng ở phía máy khách.

Đối với 2), như bạn đã tìm thấy, thư viện bạn tìm thấy từ json.org là tốt và tôi cũng đã nghe những điều đầy hứa hẹn về gson.

+0

+1 cho GSON .. .. –

1

tôi đã kết thúc bằng cách sử dụng thư viện Java từ JSON.org:

http://www.json.org/java/

Dường như để biên dịch OK cho App Engine. Tôi không chắc chắn 100%, nhưng tôi khá tự tin rằng thư viện JSON được đóng gói GWT không thể được sử dụng phía máy chủ, điều này khá lạ.

1

Một trong những tùy chọn tốt nhất để sử dụng là sử dụng RestyGWT ở phía máy khách và Jackson ở phía máy chủ. Bằng cách đó bạn nhận được đối tượng trong suốt để JSON marshaling.

Các vấn đề liên quan