亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS把字符串轉成json對象的三種方法示例詳解

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

js 把字符串轉成json對象的三種方法

不管字符串是否含有轉義字符,都能轉換成 Json 對象

1, js自帶的eval函數(shù),其中需要添加小括號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對象

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

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

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

name沒有用引號引起來,使用JSON.parse所有瀏覽器中均拋異常,解析失敗。

如果字符串是 undefined 或者 '',使用上面三種方式都會報錯,所以需要先特殊判斷一下字符串是否是 undefined 或者空字符串,如果不是則可以使用上面的三種方式來轉換,一般都是使用第一中方法,最簡單。

轉自js將字符串轉換成json的三種方式

javascript 把對象轉換成 json 字符串

JSON.stringify

JSON.stringify 方法將某個對象轉換成 JSON 字符串形式

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

JSON.stringify 語法

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

JSON.stringify(value, replacer, space)

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

最多使用方式

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

如果想把包含轉義字符的字符串轉成 json 字符串

先試用 eval 把字符串轉成 json 對象,然后使用 JSON.stringify 把 json 對象轉成 json 字符串

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

如果還需要特別判斷一下空字符串,加個三目運算符就行

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

參考資料:

js將字符串轉換成json的三種方式

JSON.stringify用法

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

相關文章

最新評論