Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Serialize List, Dictionary của C# thành binary, Deserialize trong Java. Mong mọi người cùng thảo luận!

  1. #1
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Mặc định Serialize List, Dictionary của C# thành binary, Deserialize trong Java. Mong mọi người cùng thảo luận!

    Serialization là một vấn đề khó và hấp dẫn đối với mọi lập trình viên. Mình cũng đang có một nỗi đau đối với việc này.

    Mong muốn của mình là Serialize một số đối tượng của C# như List, Dictionary ra thành file binary, sau đó ở ứng dụng Java/C# sẽ Deserialize file binary đó thành List, Dictionary tương ứng. Không biết bạn nào có ý tưởng hay đảm bảo về performance có thể đưa ra trao đổi được không?

    Mình rất hi vọng các bạn không ngại thảo luận và chia sẻ đề tài của mình. Xin cảm ơn!

  2. #2
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Nghe có vẻ vấn đề này khó không mấy người tham gia thảo luận. Cơ bản mình định nghĩa List, Dictionary bằng một định danh và Serialize từng object trong chúng rồi lưu vào file. Tuy nhiên một số object của .NET thì đang có nhiều vấn đề, mình đang lấy source của .NET về nghiên cứu rồi tiếp tục làm!

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Nếu muốn dùng thì bạn dùng protobuf.
    Nếu muốn nghiên cứu bạn có thể down source nó về để nghiên cứu.
    Nếu muốn viết từ đầu bạn có thể dùng wiki, có chuẩn chung để serialize cho phần lớn ngôn ngữ.

    Protobuf Doc

  4. #4
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Đấy là lý thuyết và mình cũng đã biết đến Protobuf. Bạn có thể bớt thời gian cho mình một ví dụ đơn giản không? Đặc biệt là với những object mà không phải do mình tạo ra thì sẽ có nhiều vấn đề!

  5. #5
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Hi Bạn,

    Những object bạn tạo ra, thì nó sẽ chứa những object (int,string,list ...) đã hỗ trợ serialize do đó object của bạn hoàn toàn serialize được.

    Mình khi làm với nó thì thường dùng hỗ trợ của chính ngôn ngữ sử dụng.
    Ví dụ C# bạn sẽ có cách thức serialize của nó, khi lưu xuống file nó sẽ lưu binary data và bạn chỉ việc deserialize để lấy lại dữ liệu.

    Còn protobuf thì bạn có thể tham khảo document của nó.

  6. #6
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Mặc định Serialize List, Dictionary của C# thành binary, Deserialize trong Java. Mong mọi người cùng thảo luận!

    Nhưng nếu là chương trình Java serialize ra 1 file, rồi mang file đó sang chương trình .NET deserialize thì lại là vấn đề không còn đơn giản nữa!

    Dù sao cũng cảm ơn bạn đã reply!

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mình đã nói bạn rồi đó, nó sẽ có chuẩn chung.
    Hoặc bạn viết như thrift, protobuf.
    Hoặc bạn serialize theo JSON, YML,... rồi bạn tự deserialize ra lại.

  8. #8
    Ngày gia nhập
    04 2012
    Bài viết
    2

    Chuẩn rồi, nếu đã dính tới nền tảng khác nhau, thì nên giao tiếp qua XML, JSON ... hoặc một thằng trung gian nào đó cho đơn giản chứ chả ai mang object của Java qua C# dịch cả (mặc dù theo lý thuyết thì được). Theo mình là như vậy.
    Console.WriteLine("HAPPY CODING");

Các đề tài tương tự

  1. Bài toán phân cụm đa giác ảnh trong C#, mọi người cùng thảo luận!
    Gửi bởi nuoclocz trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 07-01-2013, 09:27 AM
  2. Xử lý SMS trong ASP.NET, C#. Cùng nhau thảo luận nhé!
    Gửi bởi davidhuynhvan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-02-2011, 09:22 PM
  3. Deserialize 1 binary file
    Gửi bởi javakhoqua trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 17-12-2010, 04:42 PM
  4. serialize và deserialize một list<string> thành dạng xml?
    Gửi bởi kangoo1707 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 16-03-2010, 12:15 AM
  5. BinaryFormatter.Serialize mà không DeSerialize được
    Gửi bởi hungdlbk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 21-09-2009, 09:31 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn