Làm cách nào tôi có thể nhận được giá trị trong một đối tượng JSON?

Một đối tượng JSON chứa 0, một hoặc nhiều cặp khóa-giá trị, còn được gọi là thuộc tính. Đối tượng được bao quanh bởi dấu ngoặc nhọn {}. Mỗi cặp khóa-giá trị được phân tách bằng dấu phẩy. Thứ tự của cặp khóa-giá trị không liên quan

Một cặp khóa-giá trị bao gồm một khóa và một giá trị, được phân tách bằng dấu hai chấm (. ). Khóa là một chuỗi, xác định cặp khóa-giá trị. Giá trị có thể là bất kỳ loại dữ liệu nào sau đây

chuỗi được bao quanh bởi dấu ngoặc kép (" ")numberfloatarrayJSON arrayobjectJSON object (có thể lồng nhau)booleantrue hoặc falseemptynull

JSON (Nó là gì?), Ký hiệu đối tượng JavaScript, là một định dạng nhẹ có thể đọc được để cấu trúc dữ liệu. Đó là ngôn ngữ độc lập, định dạng văn bản và tập hợp các cặp khóa/giá trị có thể dễ dàng truyền dữ liệu giữa máy chủ và ứng dụng web

Tôi đã học được rằng việc trích xuất dữ liệu từ JSON rất đơn giản và dễ dàng khi bạn hiểu cấu trúc của nó. Vì vậy, việc chia sẻ suy nghĩ của tôi và có thể điều này sẽ hữu ích cho người học và các thành viên khác trong Cộng đồng để hiểu những điều cơ bản và cách thức hoạt động của nó

Hãy bắt đầu. 😊

Khóa và Giá trị là thành phần chính chính của JSON. Khóa luôn là một chuỗi kèm theo dấu ngoặc kép. Một giá trị có thể là một chuỗi, số, biểu thức boolean, mảng hoặc đối tượng. Một cặp khóa/giá trị, khóa theo sau là dấu hai chấm, sau đó là giá trị. Các cặp khóa/giá trị được phân tách bằng dấu phẩy

Ví dụ. "Chìa khóa". "Giá trị",

dấu ngoặc nhọn. { } đại diện cho một đối tượng của chuỗi JSON trong khi Dấu ngoặc vuông. [ ] đại diện cho một mảng các giá trị của chuỗi JSON. Ví dụ.  

Vật

"Key1" : {                                      
  "Key2" : "Value2"
}

Đây cũng là một ví dụ về khóa/giá trị lồng nhau. Cặp khóa/giá trị "Key2". "Value2" được lồng bên trong một cặp khóa/giá trị khác

Mảng

"Key1" : {
  "Key2" : "Value2",
  "Key3" : [ "Value31", "Value32" ]
}

Key3 có các giá trị ở định dạng mảng. Chỉ mục của giá trị đầu tiên sẽ bắt đầu bằng 0 (theo tiêu chuẩn mảng)


JSON. stringify() giúp chuyển đổi một đối tượng hoặc một mảng JSON thành định dạng chuỗi trước khi gửi dữ liệu. Ví dụ

Nếu bạn in mã bên dưới trong tập lệnh nền, bạn sẽ nhận được kết quả là [Đối tượng đối tượng], kết quả tương tự cũng có thể nhận được nếu bạn không cung cấp tên khóa chính xác hoặc con trỏ chỉ mục sai cho một mảng không tồn tại

var jsonObj = { "key" : "value"};
gs.print(jsonObj); 

nhưng, nếu bạn in sau khi chuyển đổi đối tượng JSON thành chuỗi bằng cách sử dụng stringify(), bạn sẽ có thể in kết quả dưới dạng chuỗi

var jsonObj = { "key" : "value" };
gs.print(JSON.stringify(jsonObj));

Hãy xem một ví dụ về cách điều hướng để lấy giá trị của khóa cụ thể bằng cách phân tích cú pháp JSON nhưng trước đó, tốt nhất là Định dạng JSON ở định dạng đẹp (nếu được yêu cầu) để người dùng dễ đọc hơn và điều đó có thể được thực hiện bằng cách sử dụng JSON. stringify(tên biến, không xác định, 2), cung cấp JSON ở định dạng có cấu trúc (như trong ví dụ bên dưới). JSON được định dạng có cấu trúc cung cấp kiến ​​thức về cách đi theo dấu chấm hoặc sử dụng các chỉ mục mảng để trích xuất giá trị từ JSON.  

Ví dụ

var jsonObject = { "key1": “value1”, "array1": [ { "key2": “value2” }, { "key3": “value3”}]};
JSON.stringify(jsonObject, undefined, 2);

Kết quả

{
	" key1":” value1”,
		" array1": [
			{
				" key2": “value2”
			},
			{
				" key3": “value3”
			}
		]
}

Trường hợp sử dụng A

Nếu chỉ có một giá trị trong mỗi Cột và Hàng cho bảng thì chỉ cần thực hiện thao tác đi bộ theo dấu chấm để tiếp cận các thuộc tính sẽ cho kết quả

var getData = [];
var obj = {};
var payload = {
            "SearchResult": {
                        "tables": {
                                    "name": "PrimaryResult",
                                    "columns": {"name": "SID", "type": "string"},
                                    "rows": "abcdefgh-ijkl-mnop-qrst-123456789",
                        },
            },
};

obj[payload.SearchResult.tables.columns.name] = payload.SearchResult.tables.rows;        
getData.push(obj);
var finalResult = JSON.stringify(getData);
gs.print(finalResult);

Kết quả.   

*** Script: [{"SID":"abcdefgh-ijkl-mnop-qrst-123456789"}]

Những điểm chính

  1. Để tìm nạp giá trị từ đối tượng lồng nhau, hãy sử dụng dấu chấm đi theo sau tên khóa

Để lấy cột có tên SID. khối hàng. Tìm kêt quả. những cái bàn. cột. name
Để lấy giá trị hàng. khối hàng. Tìm kêt quả. những cái bàn. hàng    

  1. var obj = {}; . Cú pháp này sẽ tự động tạo tên Key với kết quả là {“Key”. "Giá trị"}
  2. Sử dụng JSON. parse() để chuyển đổi dữ liệu trong đối tượng JavaScript nếu biến tải trọng ở dạng chuỗi

Trường hợp sử dụng B

Nếu có nhiều giá trị (trong một Mảng) trong mỗi cột và hàng của bảng thì đơn giản chỉ cần đi bộ đến thuộc tính sẽ không cho kết quả. Cần lặp qua mảng để lấy giá trị

________số 8

Kết quả

*** Script: [
  {
    "SID": "abcdefgh-ijkl-mnop-qrst-123456789",
    "Machine": "SERVERSJ01",
    "Location": "San Jose"
  },
  {
    "SID": "abcdefgh-ijkl-mnop-qrst-987654321",
    "Machine": "SERVERNY01",
    "Location": "New York"
  }
]

Những điểm chính

  1. Để lấy giá trị từ một mảng, lặp qua các đối tượng
  2. Nếu có nhiều mảng trong mảng thì lặp qua mảng với các chỉ mục tương ứng để lấy giá trị, nếu cần

obj[columnName] = trọng tải. Tìm kêt quả. bảng[i]. hàng[j][m]. toString();

Tên biến — tải trọng

Bên trong đó, để truy cập các thành viên của bảng, hãy sử dụng ["SearchResult. những cái bàn"]

Bảng chứa một mảng được điền bởi các đối tượng, để truy cập đối tượng bên trong mảng dùng [i], vì ở đây nó chỉ có 1 mảng nên chỉ số 0 cũng có thể dùng được, nếu có nhiều mảng thì lặp qua đó

Mảng bên trong bảng, để truy cập các giá trị của mảng hàng lồng nhau theo chỉ mục cột, đã sử dụng [j][m] đại diện cho giá trị hàng cụ thể tương ứng với chỉ mục cột tương ứng.  

Nói ngắn gọn

Định dạng JSON ở định dạng có thể đọc được (nếu cần)

Điều hướng đến đối tượng JSON bằng cách sử dụng tính năng đi bộ theo dấu chấm, nếu có các mảng trong đối tượng lồng nhau thì hãy lặp qua mảng để phân tích cú pháp các đối tượng/mảng lồng nhau để tìm nạp các giá trị bằng cách sử dụng các chỉ mục tương ứng theo sau là Tên khóa

Lưu các giá trị vào một đối tượng rồi đẩy đối tượng vào một mảng. Sử dụng JSON. stringify() để chuyển đổi đối tượng/mảng thành chuỗi để gửi cho nó xử lý thêm

Làm cách nào để đọc giá trị từ JSON?

Trong JavaScript, bạn có thể dễ dàng phân tích cú pháp dữ liệu JSON nhận được từ máy chủ web bằng cách sử dụng JSON. phương thức parse() . Phương thức này phân tích cú pháp một chuỗi JSON và xây dựng giá trị hoặc đối tượng JavaScript được mô tả bởi chuỗi. Nếu chuỗi đã cho không phải là JSON hợp lệ, bạn sẽ gặp lỗi cú pháp.

Làm cách nào để tìm nạp dữ liệu cụ thể từ JSON?

Tìm nạp dữ liệu động .
Giới thiệu về JSON
Tuần tự hóa dữ liệu thành JSON
Phân tích cú pháp dữ liệu JSON
Giới thiệu về URI và yêu cầu HTTP
Sử dụng getString() để tải tệp
Sử dụng đối tượng HttpRequest để tải tệp. Thiết lập đối tượng HttpRequest. Gửi yêu cầu. Xử lý phản hồi. Tạo giao diện người dùng từ JSON
Các nguồn lực khác

Làm cách nào để lấy giá trị từ đối tượng JSON trong Java?

Phương thức getJsonObject() . Phương thức phân tích tên đối số kiểu Chuỗi có giá trị liên quan sẽ được trả về. Nó trả về đối tượng của ánh xạ được liên kết cho tham số của phân tích cú pháp. Nó trả về null nếu đối tượng không có ánh xạ cho tham số.

Làm cách nào để lấy một giá trị cụ thể từ JSON trong JavaScript?

Sử dụng hàm JavaScript JSON. parse() để chuyển văn bản thành đối tượng JavaScript . const obj = JSON. phân tích cú pháp ('{"tên". "John", "tuổi". 30, "thành phố". "Newyork"}'); .