欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS把字符串轉(zhuǎn)成json對(duì)象的三種方法示例詳解

 更新時(shí)間:2023年04月25日 15:37:56   作者:Lucky小黃人  
這篇文章主要介紹了js?把字符串轉(zhuǎn)成json對(duì)象的三種方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

js 把字符串轉(zhuǎn)成json對(duì)象的三種方法

不管字符串是否含有轉(zhuǎn)義字符,都能轉(zhuǎn)換成 Json 對(duì)象

1, js自帶的eval函數(shù),其中需要添加小括號(hào)eval('('+str+')');

function strToJson(str){
  var json = eval('(' + str + ')');
  return json;
}

2,new Function形式

function strToJson(str){
  var json = (new Function("return " + str))();
  return json;
}

3,全局的JSON對(duì)象

function strToJson(str){
  return JSON.parse(str);
}

使用 這種方式限制稍微多一些,需嚴(yán)格遵守JSON規(guī)范,如屬性都需用引號(hào)引起來(lái),如下

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error

name沒有用引號(hào)引起來(lái),使用JSON.parse所有瀏覽器中均拋異常,解析失敗。

如果字符串是 undefined 或者 '',使用上面三種方式都會(huì)報(bào)錯(cuò),所以需要先特殊判斷一下字符串是否是 undefined 或者空字符串,如果不是則可以使用上面的三種方式來(lái)轉(zhuǎn)換,一般都是使用第一中方法,最簡(jiǎn)單。

轉(zhuǎn)自js將字符串轉(zhuǎn)換成json的三種方式

javascript 把對(duì)象轉(zhuǎn)換成 json 字符串

JSON.stringify

JSON.stringify 方法將某個(gè)對(duì)象轉(zhuǎn)換成 JSON 字符串形式

const userInfo= {
    name: 'zs',
    age: 20
}
console.log(JSON.stringify(userInfo));
// {"name":"zs","age":20}

JSON.stringify 語(yǔ)法

語(yǔ)法: 可以有三個(gè)參數(shù),第一個(gè)是傳入要序列化的值,第二個(gè)為函數(shù)或者數(shù)組,第三個(gè)是文本添加縮進(jìn)、空格和換行符

JSON.stringify(value, replacer, space)

value:第一個(gè)參數(shù),將要序列后成 JSON 字符串的值。
replacer:【可選】第二個(gè)參數(shù)
(1) 如果該參數(shù)是一個(gè)函數(shù),則在序列化過(guò)程中,被序列化的值的每個(gè)屬性都會(huì)經(jīng)過(guò)該函數(shù)的轉(zhuǎn)換和處理;
(2) 如果參數(shù)是一個(gè)數(shù)組,則僅轉(zhuǎn)換該數(shù)組中具有鍵值的成員。成員的轉(zhuǎn)換順序與鍵在數(shù)組中的順序一樣。
(3) 如果該參數(shù)為未提供或者null ,則對(duì)象所有的屬性都會(huì)被序列化。
space:【可選】第三個(gè)參數(shù),美化文本格式,文本添加縮進(jìn)、空格和換行符,
(1) 如果 該參數(shù) 是一個(gè)數(shù)字,則返回值文本在每個(gè)級(jí)別縮進(jìn)指定數(shù)目的空格
(2) 該參數(shù)最大值為10,如果 該參數(shù)大于 10,則文本縮進(jìn) 10 個(gè)空格。
(3)該參數(shù)也可以使用非數(shù)字,如:\t。最大值為10

最多使用方式

JSON.stringify(eval(stu, null, 2)

如果想把包含轉(zhuǎn)義字符的字符串轉(zhuǎn)成 json 字符串

先試用 eval 把字符串轉(zhuǎn)成 json 對(duì)象,然后使用 JSON.stringify 把 json 對(duì)象轉(zhuǎn)成 json 字符串

JSON.stringify(eval(`(${stu})`), null, 2)

如果還需要特別判斷一下空字符串,加個(gè)三目運(yùn)算符就行

stu ? JSON.stringify(eval(`(${stu})`), null, 2) : ''

參考資料:

js將字符串轉(zhuǎn)換成json的三種方式

JSON.stringify用法

到此這篇關(guān)于js 把字符串轉(zhuǎn)成json對(duì)象的三種方法的文章就介紹到這了,更多相關(guān)js 字符串轉(zhuǎn)成json對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論