日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
json字符串轉換成json對象,json對象轉換成字符串,值轉換成字符串,字符串轉成值 原文:json字符串轉換成json對象,json對象轉換成字符串,值轉換成字符串,字符串轉成值

主要內容:

一、json相關概念

二、json字符串轉換成json對象 (字符串-->JSON對象)

三、json對象轉換成字符串(json對象-->字符串)

四、將值轉換成字符串(值-->字符串)

五、字符串轉成值(字符串-->值)

?

同步的交流學習社區:http://www.mwcxs.top/page/425.html

一、json相關概念

json,全稱為javascript object notation,是一種輕量級的數據交互格式。采用完全獨立于語言的文本格式,是一種理想的數據交換格式。

同時,json是javascript是原生格式,所以javascript操作處理json不需要任何包,api,任何依賴。

json中有兩個結構:(1)數組(2)對象

(1)什么是數組

數組就是以"["開始,以“]”結束的,值之間運用 “,”(逗號)分隔。

比如:

[{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}, {"key": "test2","value": 345,"type": "boolean","required": "true","description": "字段描述4","children": []}]

children是一個數組,數組里有兩個值,值也就是一個對象。

?

(2)什么是對象

對象就是以“{”開始,以“}”結束的,后邊跟著每一對鍵值,鍵與值之間使用冒號分隔開。如果值是字符,則必須用引號,數值型則不須要。

{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}

在數據傳輸中,json是以文本,即字符串的形式傳遞的,而js操作json對象,所以json對象和json字符串之間的轉換是關鍵。

?

(3)字符串和json對象栗子

json字符串

var str1 = '{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}'

就是在對象的基礎上前后加上‘,’。

?

json對象:

var str2 = {"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}

?

二、json字符串轉換成json對象 (字符串-->JSON對象)

方法有三種:轉換函數,jq的轉換函數,eval()方法

方法1--轉換函數:JSON.parse()方法

var a = '{"a":2}'; JSON.parse(a); //{a:2}

注意:IE8(兼容模式)ok,但是IE6和IE7沒有JSON對象,需要額外引入json.js或者json2.js。

方法2:parseJSON()方法? ,將字符串轉換成非字符串

用的是jquery的插件

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉換成json對象

反過來,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();

方法3:eval()方法

eval()函數可計算某一個字符串,并執行其中的javascript代碼。

var s = '{a:2}'; eval('(' + s + ')'); //將json字符串轉成json對象,需要在字符串外包裹一對括號(), {a:2}

?

注意事項:IE8(兼容模式),IE7和IE6也可以使用eval()方法將字符串轉成json對象,但是不推薦使用,因為這種方式不安全eval會執行接送字符串的表達式.

圖中a的值對應的是表達式2+4,當執行eval()方法時候,已經把表達式的值計算出來了,值為6。?

?

三、json對象轉換成字符串(json對象-->字符串)

方法--轉換函數:JSON.stringify()方法 ,將非字符串轉成字符串。

var s = {'a':2}; JSON.stringify(s); //"{"a":2}"

?

?四、將值轉換成字符串(值-->字符串)

方法有三種:轉換函數toString(),弱類型轉換,強制類型轉換

方法1--轉換函數:value.toString()? ? 將數值轉成對應進制的字符串

var n =8; n.toString(幾進制);

注意:不能將null和undefined轉換成字符串?

?

方法2--弱類型轉換:value + ''? ? 將值轉換成字符串

2+ ''

注意:使用加法運算法,配合一個空的字符串,缺點是可讀性差

?

方法3--強制類型轉換:String(value)

String(2)

?

?五、字符串轉成值(字符串-->值)

方法有三種:轉換函數,強制類型轉換,js變量弱類型轉換

在js讀取文本框或者其它表單數據的時候獲得的值是字符串類型的。

方法1--轉換函數:parseInt()和parseFloat()

parseInt("1234blue"); //returns 1234 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN parseInt("AF", 16); //returns 175 parseInt("10", 2); //returns 2 parseFloat("1234blue"); //returns 1234.0 parseFloat("22.5"); //returns 22.5 parseFloat("blue"); //returns NaN

?

方法2--強制類型轉換

Number(value)——把給定的值轉換成數字(可以是整數或浮點數);

Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number( "5.5 ") 5.5 Number( "56 ") 56 Number( "5.6.7 ") NaN

?

方法3--js弱類型轉換

var str= '012.345 '; var x = str-0; //輸出12.345

先看一下上面的例子,只進行了算術運算,實現了字符串到數字的類型轉換,不過這個方法還是不推薦的;

?

PS:小數的四舍五入

1、四舍五入

var num =2.4492425542; num = num.toFixed(2); // 輸出結果為 2.45

2、不四舍五入

把小數變成整數

Math.floor(15.7784514000 * 100) / 100 // 輸出結果為 15.77

當成字符串,使用正則匹配

Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/)) // 輸出結果為 15.77,不能用于整數如 10 必須寫為10.0000

注意:如果是負數,請先轉換為正數再計算,最后轉回負數

?

posted on 2018-03-28 23:21 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/8667122.html

總結

以上是生活随笔為你收集整理的json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。