2015-04-25 14 views

Trả lời

-2

Trình phân tích cú pháp JSON trong thư viện chuẩn Scala không còn được dùng nữa. Bạn nên chọn một trong các thư viện mạnh hơn của bên thứ ba như Jackson, Play-Json, json4s, v.v.

8

Thông thường, điều này có nghĩa là một chức năng đã bị thay thế bởi một triển khai khác, việc sử dụng nó được ưu tiên hơn và một câu hỏi như thế này đơn giản có nghĩa là OP quá lười để google tài liệu. Điều này đặc biệt đúng trong trường hợp các thư viện trong ngôn ngữ Java, mà xử lý tương thích ngược rất nghiêm túc (đến mức nó trở thành một nỗi đau cho một số). Hệ sinh thái Scala không quá nghiêm ngặt về vấn đề này và nâng cấp lên phiên bản mới hơn của ngôn ngữ có nghĩa là bạn có thể nhận được một API khác hoặc thậm chí là binary incompabilities. Xem thêm Scala: binary incompatibility between releases. Đây không phải là một bình luận chống lại Scala. Có những lý do chính đáng cho sự không tương thích này tồn tại.

Tuy nhiên, tôi phải thừa nhận rằng documentation for scala.util.parsing.json không chứa bất kỳ thông tin nào liên quan đến đề xuất thay thế cho chức năng này. Tôi đã mất khá nhiều thời gian để đào một thứ gì đó mà chỉ gần giống như một tuyên bố rõ ràng về những gì thay thế được đề nghị.

Dường như đã có rất nhiều cuộc thảo luận trong cộng đồng về điểm và hậu quả của sự phản đối này. Tôi khuyên bạn nên đọc this thread in the scala-users group nếu bạn quan tâm.

Lý do được trích dẫn nhiều nhất cho sự phản đối này dường như có hiệu suất kém và an toàn luồng.

Việc ngừng sử dụng được thực hiện như một phần của this Jira issue và việc sử dụng các trình phân tích cú pháp khác nhau được đề xuất trong phần đóng góp ý kiến ​​của this related task that was not completed due to the deprecation.

Alternatives bao gồm:

Để trả lời câu hỏi của bạn. Đây là một cảnh báo, mã của bạn không nên ngắt cho đến khi đối tượng này thực sự bị xóa. Tuy nhiên, nếu các lỗi mới được tìm thấy trong chức năng này, chúng rất có thể sẽ không được sửa. Mã của bạn cũng có thể phá vỡ nếu bạn nâng cấp lên phiên bản mới hơn của Scala rằng thực sự có những gói bị loại bỏ (Phiên bản 2.11.0 trở lên, according to the documentation)

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