Bạn phải rõ ràng về ý nghĩa của "JSON".
Một số người sử dụng thuật ngữ JSON không chính xác để chỉ một đối tượng JavaScript cũ đơn giản, chẳng hạn như [{a: 1}]
. Đây là một mảng. Nếu bạn muốn thêm một phần tử mới vào mảng, chỉ cần ____10 nó, như trong
var arr = [{a: 1}];
arr.push[{b: 2}];
< [{a: 1}, {b: 2}]
Từ JSON cũng có thể được sử dụng để chỉ một chuỗi được mã hóa ở định dạng JSON:
var json = '[{"a": 1}]';
Lưu ý dấu ngoặc kép [đơn] cho biết đây là một chuỗi. Nếu bạn có một chuỗi mà bạn có được từ một nơi nào đó, trước tiên bạn cần phân tích cú pháp nó vào một đối tượng JavaScript, sử dụng
var json = '[{"a": 1}]';
1:var obj = JSON.parse[json];
Bây giờ bạn có thể thao tác đối tượng theo bất kỳ cách nào bạn muốn, bao gồm
var json = '[{"a": 1}]';
0 như được hiển thị ở trên. Nếu sau đó bạn muốn đặt nó trở lại vào chuỗi JSON, thì bạn sẽ sử dụng var json = '[{"a": 1}]';
3:var new_json = JSON.stringify[obj.push[{b: 2}]];
'[{"a": 1}, {"b": 1}]'
JSON cũng được sử dụng như một cách phổ biến để định dạng dữ liệu để truyền dữ liệu đến và từ một máy chủ, nơi nó có thể được lưu [tồn tại]. Đây là nơi Ajax đến. AJAX được sử dụng cả hai để lấy dữ liệu, thường ở định dạng JSON, từ máy chủ và/hoặc để gửi dữ liệu ở định dạng JSON đến máy chủ. Nếu bạn nhận được phản hồi từ một yêu cầu AJAX là định dạng JSON, bạn có thể cần phải
var json = '[{"a": 1}]';
1 như mô tả ở trên. Sau đó, bạn có thể thao tác đối tượng, đặt nó trở lại định dạng JSON với var json = '[{"a": 1}]';
3 và sử dụng một cuộc gọi AJAX khác để gửi dữ liệu đến máy chủ để lưu trữ hoặc thao tác khác.Bạn sử dụng thuật ngữ "Tệp JSON". Thông thường, từ "Tệp" được sử dụng để tham khảo một tệp vật lý trên một số thiết bị [không phải là chuỗi bạn đang xử lý trong mã của mình hoặc đối tượng JavaScript]. Trình duyệt không có quyền truy cập vào các tệp vật lý trên máy của bạn. Nó không thể đọc hoặc viết chúng. Trên thực tế, trình duyệt thậm chí không thực sự có khái niệm về "tệp". Vì vậy, bạn không thể chỉ đọc hoặc viết một số tệp JSON trên máy cục bộ của bạn. Nếu bạn đang gửi JSON đến và từ một máy chủ, thì tất nhiên, máy chủ có thể đang lưu trữ JSON dưới dạng tệp, nhưng nhiều khả năng máy chủ sẽ xây dựng JSON dựa trên một số yêu cầu AJAX, dựa trên dữ liệu mà nó lấy từ cơ sở dữ liệu , hoặc giải mã JSON trong một số yêu cầu AJAX, sau đó lưu trữ dữ liệu liên quan trở lại vào cơ sở dữ liệu của nó.not a string you are dealing with in your code, or a JavaScript object]. The browser has no access to physical files on your machine. It cannot read or write them. Actually, the browser does not even really have the notion of a "file". Thus, you cannot just read or write some JSON file on your local machine. If you are sending JSON to and from a server, then of course, the server might be storing the JSON as a file, but more likely the server would be constructing the JSON based on some ajax request, based on data it retrieves from a database, or decoding the JSON in some ajax request, and then storing the relevant data back into its database.
Bạn có thực sự có một "tệp JSON", và nếu vậy, nó tồn tại ở đâu và bạn lấy nó từ đâu? Bạn có chuỗi định dạng JSON, mà bạn cần phân tích, chính và quay lại thành chuỗi định dạng JSON mới không? Bạn có cần lấy JSON từ máy chủ và sửa đổi nó và sau đó gửi lại cho máy chủ không? Hoặc là "tệp JSON" của bạn thực sự chỉ là một đối tượng JavaScript, mà bạn chỉ cần thao tác với logic JavaScript bình thường?
Đôi khi bạn muốn lưu trữ một đối tượng JSON vào một tệp trong ứng dụng Node.js và sau đó truy xuất nó sau. Ví dụ: khi bạn đang tạo API RESTful mới, việc lưu trữ dữ liệu trên hệ thống tệp cục bộ có thể là một lựa chọn tốt. Bạn có thể bỏ qua thiết lập cơ sở dữ liệu và lưu dữ liệu JSON vào một tệp.
Trong bài viết này, bạn sẽ học cách viết một đối tượng JSON để tệp trong node.js. Trong bài viết trước của tôi, chúng tôi đã xem xét cách đọc và ghi tệp trong node.js. Nếu bạn cần thêm thông tin về việc đọc và viết tệp, hãy xem nó.write a JSON object to file in Node.js. In my previous article, we looked at how to read and write files in Node.js. If you need more information about reading and writing files, take a look at it.
Viết JSON vào tệp
JavaScript cung cấp một đối tượng
var json = '[{"a": 1}]';
6 tích hợp để phân tích dữ liệu JSON và tuần tự. Bạn có thể sử dụng phương thức json.Stringify [] để chuyển đổi đối tượng JSON của mình thành biểu diễn chuỗi của nó và sau đó sử dụng mô -đun hệ thống tệp var json = '[{"a": 1}]';
7 để ghi nó vào một tệp.Dưới đây là một ví dụ sử dụng phương thức
var json = '[{"a": 1}]';
8 để ghi không đồng bộ một đối tượng JSON vào một tệp:const fs = require['fs']
// create a JSON object
const user = {
id: 1,
name: 'John Doe',
age: 22
}
// convert JSON object to a string
const data = JSON.stringify[user]
// write JSON string to a file
fs.writeFile['user.json', data, err => {
if [err] {
throw err
}
console.log['JSON data is saved.']
}]
Để in đẹp đối tượng JSON vào tệp, bạn có thể chuyển các tham số bổ sung sang
var json = '[{"a": 1}]';
9:// pretty-print JSON object to string
const data = JSON.stringify[user, null, 4]
Mô -đun
var json = '[{"a": 1}]';
7 cũng cung cấp một phương thức gọi là var obj = JSON.parse[json];
1 để ghi dữ liệu vào tệp đồng bộ:try {
fs.writeFileSync['user.json', data]
console.log['JSON data is saved.']
} catch [error] {
console.error[err]
}
Hãy cẩn thận khi bạn sử dụng các hoạt động tệp đồng bộ trong Node.js. Các phương thức đồng bộ chặn vòng lặp sự kiện Node.js và mọi thứ khác phải chờ hoàn thành hoạt động tệp.
Đọc JSON từ tệp
Để truy xuất và phân tích dữ liệu JSON từ một tệp trở lại đối tượng JSON, bạn có thể sử dụng phương thức
var obj = JSON.parse[json];
2 cùng với json.parse [] để giải phóng như dưới đây:const fs = require['fs']
// read JSON object from file
fs.readFile['user.json', 'utf-8', [err, data] => {
if [err] {
throw err
}
// parse JSON object
const user = JSON.parse[data.toString[]]
// print JSON object
console.log[user]
}]
Ví dụ trên sẽ xuất ra như sau trên bảng điều khiển:
{ id: 1, name: 'John Doe', age: 22 }
Giống như phương thức
var obj = JSON.parse[json];
3, bạn cũng có thể sử dụng var obj = JSON.parse[json];
4 để đọc tệp đồng bộ trong ứng dụng Node.js.Hãy xem cách đọc và viết các tệp JSON trong hướng dẫn Node.js để tìm hiểu thêm về đọc và viết các tệp JSON trong ứng dụng Node.js.
Thích bài viết này? Theo dõi tôi trên Twitter và LinkedIn. Bạn cũng có thể đăng ký nguồn cấp dữ liệu RSS. Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.