2012-01-20 29 views
6

Tôi cần thêm URL thường ở định dạng http: \ somewebsite.com \ somepage.asp. Khi tôi tạo ra một chuỗi với URL ở trên và thêm nó vào JSON đối tượng jsonCách thêm Chuỗi URL vào đối tượng JSON

sử dụng

json.put("url",urlstring); 

nó phụ thêm "\" và khi tôi kiểm tra đầu ra nó giống như http:\\\\somewebsite.com\\somepage.asp

Khi Tôi cung cấp URL dưới dạng http://somewebsite.com/somepage.asp đầu ra json là http:\/\/somewebsite.com\/somepage.asp

Bạn có thể giúp tôi lấy lại URL như không?

Cảm ơn

+3

Tại sao bạn sử dụng dấu gạch chéo ngược trong URL của mình? URL chỉ sử dụng dấu gạch chéo. URL đầu tiên cũng không đúng về cú pháp. Nó phải giống như 'http: // somewebsite.com/somepage.asp'. – Jonathan

+2

Nếu bạn đang tìm kiếm chuỗi JSON được tạo bởi bộ nối tiếp - thì có thể có dấu gạch chéo được thoát. Dấu gạch chéo sẽ không bị thoát khi chuỗi JSON được deserialized. – zysoft

Trả lời

6

Thư viện JSON của bạn tự động thoát khỏi các ký tự như dấu gạch chéo. Khi kết thúc nhận, bạn sẽ phải xóa các dấu gạch chéo ngược đó bằng cách sử dụng hàm như replace().

Dưới đây là một ví dụ:

string receivedUrlString = "http:\/\/somewebsite.com\/somepage.asp";<br /> 
string cleanedUrlString = receivedUrlString.replace('\', ''); 

cleanedUrlString nên "http://somewebsite.com/somepage.asp".

Hy vọng điều này sẽ hữu ích.

Tham chiếu: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replace(char,%20char)

3

Câu trả lời của Tichodroma đã đóng đinh nó. Bạn có thể giải quyết "sự cố" bằng cách lưu trữ các URL hợp lệ.


Bên cạnh đó, định dạng JSON đòi hỏi rằng backslashes trong chuỗi được dấu gạch chéo ngược thứ hai. Nếu dấu gạch chéo ngược thứ 2 bị bỏ qua, kết quả là JSON không hợp lệ. Tham khảo sơ đồ cú pháp JSON tại http://www.json.org

Thực tế là các dấu gạch chéo ngược đôi mang lại cho bạn các vấn đề thực sự có nghĩa là phần mềm đọc tệp bị hỏng. Trình phân tích cú pháp JSON được viết đúng cách sẽ tự động loại bỏ các chuỗi. Trang web tôi liên kết với ở trên liệt kê nhiều thư viện trình phân tích cú pháp JSON được viết bằng nhiều ngôn ngữ. Bạn nên sử dụng một trong số này thay vì tự mình viết mã phân tích cú pháp JSON.

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