Hướng dẫn đổi dữ liệu từ XML sang Json trong Unity

Tram Ho

Chào các bạn!

Như tiêu đề, mình sẽ hướng dẫn các bạn convert dữ liệu từ XML sang JSON nhé! Bài toán liên quan tới dữ liệu đầu vào khách hàng cấp cho mình, tuy nhiên việc quản lý và lưu trữ xml gặp nhiều khó khăn, do đó chúng ta sẽ convert nó qua json cho dễ chơi nhé!

Ok! vào việc thôi!

Bước 1: Import XML.

  • Các bạn kiếm 1 file XML bất kì trên mạng, kiếm cái nào cơ bản hoặc cái nào ít data chút cho dễ thực hành nhé, thuần thục rồi thì gì cũng chơi được :v.
  • Các bạn kéo nó vào trong dự án Unity của mình, dự án mới tạo cũng được cho dễ nhìn.
  • Các bạn đặt nó trong thư mục “Assets/Resources/XML/data.txt” (đuôi txt hay đuôi xml không quan trọng, mình để txt để open nó đỡ mở ra cái brower thôi)

XML mẫu các bạn có thể dùng tạm trong bài này:

Bước 2: Create Script DataGame.cs

  • Các bạn tạo 1 file có tên là DataGame.cs trong Unity.
  • Nhiệm vụ của file này là sẽ đọc dữ liệu từ file XML bên trên, sau đó lưu giá trị của nó lại dạng object, rồi chúng ta convert từ object qua json, cuối cùng là lưu nó xuống thành file.

Bước 3: Add Component.

  • Các bạn Add cái DataGame.cs bên trên vào 1 object trên scene bất kì, ví dụ như Camera, việc này giúp cho nó được chạy khi chúng ta ấn play game.
  • Nếu script này không được chạy quá trình convert sẽ không thể thực hiện.

Bước 4: Read XML.

  • Các bạn mở file DataGame.cs sau đó viết code như sau:

  • Như vậy là ta đã có được dữ liệu ta cần, tuy nhiên nó vẫn đang ở dạng xml.

Bước 5: Define Object.

  • Như các bạn cũng thấy ở trên, chúng ta có dữ liệu bên trong chapter là các page, bên trong page có number, có name, có dialogue.
  • Vậy chúng ta sẽ khai báo 2 class để định nghĩa object như sau:

  • Sau đó các bạn khai báo ChapterData bên trong DataGame như sau:

Bước 6: Convert XML to Object.

  • Bước này các bạn sẽ chuyển đổi dữ liệu từ XML vào trong Object.
  • Các bạn viết code như sau:

Bước 7: Convert Object to Json and save to file.

  • Các bạn viết code như sau:

Như vậy là các bạn đã convert thành công từ file XML qua file Json, ngoài ra các bạn cũng đã khai báo thành công object trong Unity, việc còn lại sau này là gọi file json lên và sử dụng bình thường mà không cần tới file XML nữa!

Chúc các bạn thành công nhé! ^_^

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo