JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。在進行 JSON 數(shù)據(jù)處理時,我們可能遇到需要截取 JSON 字符串的情況。下面介紹兩種常見的方法。
const jsonStr = '{"name":"Tom","age":18,"gender":"male"}'; const strIndex = jsonStr.indexOf('gender'); const substr = jsonStr.substring(0, strIndex) + '}'; const json = JSON.parse(substr); console.log(json);
以上代碼使用了 JavaScript 的 substring 方法截取了 JSON 字符串中 gender 字符串前的內(nèi)容,再拼接上右括號。最后使用 JSON.parse 方法將截取后的字符串轉(zhuǎn)換為 JSON 對象。
const jsonStr = '{"name":"Tom","age":18,"gender":"male"}'; const jsonObj = JSON.parse(jsonStr); const jsonSubset = { 'name': jsonObj.name, 'gender': jsonObj.gender }; const subStr = JSON.stringify(jsonSubset); console.log(subStr);
以上代碼先使用 JSON.parse 方法將 JSON 字符串轉(zhuǎn)換為 JSON 對象,然后從 JSON 對象中取出需要的屬性,將它們存放到一個新的 JSON 對象中。最后使用 JSON.stringify 方法將新的 JSON 對象轉(zhuǎn)換為字符串。
總結(jié)一下,兩種方法都可以有效地截取 JSON 字符串中的內(nèi)容,并且隨著數(shù)據(jù)的變化,截取的結(jié)果仍然能夠準(zhǔn)確地表示原本的數(shù)據(jù)結(jié)構(gòu)。需要根據(jù)具體的需求來選擇使用哪一種方法。