一、JSJSON字元串及其基本構成
JSJSON是指JavaScript Object Notation,是一種輕量級的數據交換格式。JSJSON字元串主要由對象、數組、字元串、數字、布爾值和null六種數據類型組成。
示例代碼:
{
"name": "Lucy",
"age": 25,
"likes": ["reading", "music", "traveling"]
}
二、JSJSON字元串轉數組
JSJSON字元串可以通過JSON對象的parse方法將其轉換成JavaScript的數組。
示例代碼:
let jsonStr = '["apple", "orange", "banana"]'; let arr = JSON.parse(jsonStr); console.log(arr); // ["apple", "orange", "banana"]
三、JSJSON轉字元串
將一個JavaScript對象轉換成JSJSON字元串,可以使用JSON對象的stringify方法。
示例代碼:
let obj = {
name: "Tom",
age: 30,
hobbies: ["basketball", "swimming", "reading"]
};
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"Tom","age":30,"hobbies":["basketball","swimming","reading"]}
四、JSJSON字元串轉對象
JSJSON字元串可以通過JSON對象的parse方法將其轉換成JavaScript對象。
示例代碼:
let jsonStr = '{"name":"Mary", "age":20, "gender":"female"}';
let obj = JSON.parse(jsonStr);
console.log(obj); // {name: "Mary", age: 20, gender: "female"}
五、JSJSON字元串轉JSON對象
JSJSON字元串也可以將其轉換成JSON對象,只需要在字元串前後加上圓括弧即可。
示例代碼:
let jsonStr = '{"city":"Beijing", "district":"Haidian"}';
let jsonObj = (JSON.parse(jsonStr));
console.log(jsonObj.city); // Beijing
六、JSJSON字元串格式沒有引號
JSJSON字元串中的屬性名必須加上引號,否則會報錯。
示例代碼:
// 錯誤的JSJSON字元串
let jsonStr = {name: "Jack", age: 35};
// 正確的JSJSON字元串
let jsonStr = '{"name":"Jack", "age":35}';
七、JS字元串格式
JS字元串也可以表示JSJSON字元串,只需要遵守JSJSON字元串的格式規定。
示例代碼:
let str = '{"name":"Jim", "age":40}';
console.log(str); // {"name":"Jim", "age":40}
八、JS字元串堆棧
JS字元串可以使用堆棧的方式來處理JSJSON字元串。
示例代碼:
let stack = [];
let str = '{"name":"Frank","age":45}';
for (let i = 0; i < str.length; i++) {
let char = str.charAt(i);
switch (char) {
case '{':
case '[':
stack.push(char);
break;
case '}':
case ']':
stack.pop();
break;
}
}
if (stack.length == 0) {
console.log("字元串為JSJSON格式!");
} else {
console.log("字元串不是JSJSON格式!");
}
九、JS字元串合併
JS字元串的合併可以使用模板字元串的方式,構造JSJSON字元串。
示例代碼:
let obj1 = {name: "Tony", age: 50};
let obj2 = {gender: "male", address: "New York"};
let jsonStr = `{"name":"${obj1.name}", "age":${obj1.age}, "gender":"${obj2.gender}", "address":"${obj2.address}"}`;
console.log(jsonStr); // {"name":"Tony", "age":50, "gender":"male", "address":"New York"}
十、JS字元串比較
當兩個JSJSON字元串用等號(==)比較時,會先將其轉換成JavaScript對象,再進行比較。
示例代碼:
let jsonStr1 = '{"name":"Tim", "age":25}';
let jsonStr2 = '{"age":25, "name":"Tim"}';
console.log(jsonStr1 == jsonStr2); // true
原創文章,作者:NNCT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131821.html
微信掃一掃
支付寶掃一掃