一、获取key
在JS中,我们可以通过.或[]来获取JSON对象中的key:
let obj = {'name': 'John', 'age': 30};
let name = obj.name; // John
let age = obj['age']; // 30
如果JSON对象中有一些key带有特殊字符,比如中划线或者空格,我们可以使用[]来获取:
let obj = {'first-name': 'John', 'last name': 'Doe'};
let firstName = obj['first-name']; // John
let lastName = obj['last name']; // Doe
二、JSON字符串解析失败
有时候我们从服务器获取到的JSON字符串在解析的过程中会出现一些错误,那么我们该怎么办呢?
在JS中,我们可以使用try和catch块来捕捉和处理错误:
let str = '{name: "John", age: 30}';
try {
let obj = JSON.parse(str);
}
catch (e) {
console.log(e);
}
当出现错误时,catch块将会打印错误信息。
三、C解析JSON字符串
C语言不支持JSON,我们需要使用第三方库来进行解析。
如下是使用cJSON库解析JSON字符串的代码示例:
#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
const char* str = "{\"name\":\"John\", \"age\":30}";
cJSON* json = cJSON_Parse(str);
char* name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
printf("Name: %s\nAge: %d\n", name, age);
cJSON_Delete(json);
return 0;
}
四、JSON字符串解析
在JS中,我们可以使用JSON.parse()方法将JSON字符串转化为JSON对象:
let str = '{"name": "John", "age": 30}';
let obj = JSON.parse(str);
console.log(obj.name); // John
console.log(obj.age); // 30
五、JS解析XML字符串
在JS中,我们可以使用DOMParser来将XML字符串转换为DOM对象:
let str = '<bookstore><book><title>Harry Potter</title><author>J.K. Rowling</author></book></bookstore>';
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(str, "text/xml");
console.log(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue); // Harry Potter
六、JS解析HTML字符串模板
在JS中,我们可以使用innerHTML属性来将HTML字符串模板插入到文档中:
let str = '<div id="myDiv"><p>This is a paragraph</p></div>';
document.body.innerHTML = str;
七、JQuery解析JSON字符串
JQuery库提供了$.parseJSON()方法来将JSON字符串解析为JSON对象:
let str = '{"name": "John", "age": 30}';
let obj = $.parseJSON(str);
console.log(obj.name); // John
console.log(obj.age); // 30
八、JSON字符串解析成列表
我们可以使用forEach()方法将JSON对象中的每个元素都解析出来:
let str = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 35}]';
let array = JSON.parse(str);
array.forEach(function(item) {
console.log(item.name + " is " + item.age + " years old");
});
九、JS处理JSON字符串
在JS中,我们可以对JSON对象进行增删改查等操作:
let obj = {'name': 'John', 'age': 30};
// 获取age属性的值
let age = obj.age; // 30
// 修改age属性的值
obj.age = 35;
// 添加新的属性
obj.gender = 'male';
// 删除属性
delete obj.age;