So sánh latlng là mylatlng trong năm 2024

Trong quá trình phát triển ứng dụng sẽ cần lưu trữ dữ liệu hoặc cần giao tiếp, truyền nhận dữ liệu từ nhiều thiết bị, việc chuyển đổi dữ liệu thành dạng văn bản sẽ giúp thuận tiện cho quán trình này.

Để hỗ trợ cho điều này JSON ra đời, ngoài ra còn có nhiều phương pháp chuyển đổi sang nhiều loại cấu trúc với cú pháp khác nhau như XML hoặc mỗi ngôn ngữ lập trình có thể hỗ trợ riêng cách thức của ngôn ngữ đó.

JSON là gì?

JSON là tên viết tắt của JavaScript Object Notation, là 1 chuẩn để lưu trữ và chuyển đổi dữ liệu và thuận tiện, JSON rất dễ đọc và dễ phân tích.

Cấu trúc của JSON

Cấu trúc của JSON, được bắt đầu bằng kí tự


    John
    Doe


    Anna
    Smith


    Peter
    Jones

0 và kết thúc bằng kí tự


    John
    Doe


    Anna
    Smith


    Peter
    Jones

1. Trong


    John
    Doe


    Anna
    Smith


    Peter
    Jones

2 sẽ định nghĩa những đối tượng.

Ví dụ định nghĩa 1 đối tượng


    John
    Doe


    Anna
    Smith


    Peter
    Jones

3 có tên là


    John
    Doe


    Anna
    Smith


    Peter
    Jones

4 và họ là


    John
    Doe


    Anna
    Smith


    Peter
    Jones

5 thì chuỗi JSON được biểu diễn như sau:

{"firstName": "Khoa", "lastName": "Vo"}

Biểu diễn danh sách các


    John
    Doe


    Anna
    Smith


    Peter
    Jones

6:

{employees: [

{"firstName": "John", "lastName": "Doe"},
{"firstName": "Anna", "lastName": "Smith"},
{"firstName": "Peter", "lastName": "Jones"}
]}

So sánh với cấu trúc XML:


    John
    Doe


    Anna
    Smith


    Peter
    Jones

Hay 1 chuỗi JSON phức tạp sẽ sử dụng để


    John
    Doe


    Anna
    Smith


    Peter
    Jones

7 trong bài viết này là:

{"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {    "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }}

Cấu trúc biểu diễn bằng XML:

  on     main_window   500   500       250   250   center       text1   250   100   center     sun1.opacity = (sun1.opacity / 100) * 90;    

Biểu diễn 1 nội dung như nhau nhưng JSON gọn hơn XML, so sánh về tốc độ parse thì JSON nhanh hơn rất nhiều so với XML.

Thao tác với JSON trong Android

Trong Android, các thư viện dùng để thao tác với JSON nằm trong package


    John
    Doe


    Anna
    Smith


    Peter
    Jones

8.

Đọc JSON trong Android

Cùng phân tích chuỗi JSON để parse thành các đối tượng trong Java.

{"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {    "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }}

Có tất cả 4 đối tượng:

  1.   
        John  
        Doe  
      
      
        Anna  
        Smith  
      
      
        Peter  
        Jones  
      
    
    9: có thuộc tính là debug giá trị on và 3 thuộc tính khác là 3 đối tượng window, image, text.
  2. {"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {   "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }} 0: có các thuộc tính là title, name, width, height.
  3. {"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {   "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }} 1: có các thuộc tính là src, name, hOffset, vOffset, alignment.
  4. {"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {   "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }} 2: có các thuộc tính là data, size, style, name, hOffset, vOffset, alignment, onMouseUp.

Các bước parse như sau:

Bước 1: tạo đối tượng

{"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {    "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }}

3 với đối số truyền vào là chuỗi JSON trên.

String json = "{\"widget\": {\n" +

            "     \"debug\": \"on\",\n" +
            "     \"window\": {\n" +
            "          \"title\": \"Sample Konfabulator Widget\",\n" +
            "          \"name\": \"main_window\",\n" +
            "          \"width\": 500,\n" +
            "          \"height\": 500\n" +
            "     },\n" +
            "     \"image\": { \n" +
            "          \"src\": \"Images/Sun.png\",\n" +
            "          \"name\": \"sun1\",\n" +
            "          \"hOffset\": 250,\n" +
            "          \"vOffset\": 250,\n" +
            "          \"alignment\": \"center\"\n" +
            "     },\n" +
            "     \"text\": {\n" +
            "          \"data\": \"Click Here\",\n" +
            "          \"size\": 36,\n" +
            "          \"style\": \"bold\",\n" +
            "          \"name\": \"text1\",\n" +
            "          \"hOffset\": 250,\n" +
            "          \"vOffset\": 100,\n" +
            "          \"alignment\": \"center\",\n" +
            "          \"onMouseUp\": \"sun1.opacity = (sun1.opacity / 100) * 90;\"\n" +
            "     }\n" +
            "}}";
try {
JSONObject rootObject = new JSONObject(json);
} catch (JSONException e) {
e.printStackTrace();
}

Bước 2: lấy

{"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {    "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }}

3 widget.

JSONObject widgetObject = rootObject.getJSONObject("widget");

Bước 3: Lấy ra tất các thuộc tính, nếu là 1 đối tượng thì phải tạo

{"widget": {   "debug": "on",   "window": {   "title": "Sample Konfabulator Widget",   "name": "main_window",   "width": 500,   "height": 500   },   "image": {    "src": "Images/Sun.png",   "name": "sun1",   "hOffset": 250,   "vOffset": 250,   "alignment": "center"   },   "text": {   "data": "Click Here",   "size": 36,   "style": "bold",   "name": "text1",   "hOffset": 250,   "vOffset": 100,   "alignment": "center",   "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"   } }}

3 và lấy thuộc tính bởi các phương thức: