Leaderboard ads banner

Java: Parse dữ liệu JSON

Em cần parse một file JSON như dưới đây để lấy ra các thuộc tính của author như username, post_count và lấy ra các thuộc tính của từng bài viết:

{
   "author": {
         "username": "abc",
         "post_count": "1"
    },
    "posts": [
         {
              "post_id": "1",
              "title": "Test",
              "content": "Test test test",
              "comment_count": "2",
              "created_date": "10:51:01 22:11:2016"
         }
    ]
}

Các bác cho em hỏi trong Java có cách nào đơn giản để thực hiện việc này hay không?

1 Câu Trả Lời

Hoàng Tùng Hoàng Tùng

Bạn có thể sử dụng thư viện org.json dành cho Java để parse dữ liệu của chuỗi có định dạng theo kiểu JSON.

Với ví dụ của bạn thì làm như sau:

import org.json.*; // import thư viện

String strJSON ="{key: value}";
JSONObject obj = new JSONObject(strJSON);

// lấy username
String username = obj.getJSONObject("author").getString("username");

// lấy dữ liệu các post
JSONArray posts = obj.getJSONArray("posts");

for (int i = 0; i < posts.length(); i++)
{
    String postID = arr.getJSONObject(i).getString("post_id");
    // code xử lý tiếp
}
Nội dung tối thiểu 100 ký tự

Câu Hỏi Liên Quan