首頁 web前端 js教程 淺析Js(Jquery)中,字串與JSON格式互相轉換的範例(直接運行實例)_jquery

淺析Js(Jquery)中,字串與JSON格式互相轉換的範例(直接運行實例)_jquery

May 16, 2016 pm 05:29 PM
json 字串

首先,準備新建一個js檔。以下是JSON2.js的內容,把內容拷到js檔案中,以便呼叫:

複製程式碼 程式碼如下:

/*
    http://www.JSON.org/json2.js
    公共領域。
    沒有明示或暗示的保證。使用風險自負。
    請參閱 http://www.JSON.org/js.html
    部署前應縮小此程式碼。
    請參閱 http://javascript.crockford.com/jsmin。 html
    使用您自己的複製。從您無法控制的伺服器載入程式碼是極其不明智的。
    此檔案建立一個全域 JSON 對象,其中包含兩個方法:stringify
    和 parse。
        JSON.stringify(value, replacementr, space )
            value      
            替換符    一個選用參數,以決定物件
            它可以是
                        函數或字串陣列。
            空格       一個選用參數,並指定嵌套結構的縮排
         若省略,文字將
                        為 包裝,而額外的空格。如果它是一個數字,
                        它將指定於每個
   如果它是字串(例如 't' 或 ' '),
                        它包含在每個層級上所使用的字元字元。
            此方法從 JavaScript 值產生 JSON 文字。
             當物件找到 value 後,若物件包含 toJSON
            toJSON 方法不會序列化:它傳回由應序列化的名稱/值對錶示的
            值,
         toJSON 方法
            將傳遞與值相關的鍵,將
           
                                  // 將整數格式化至至少兩位數。
                        return n                     }
                   , this.getUTCFullYear()   '-'
   Month() 1) '-'
                         f(this.get UTCDate            f(this.getUTCHours ( ))     ':'
                                   f(this.getUTCSeconds())   'Z';
              方法。它將傳遞每個成員的
            鍵結和值,並將其綁定至包含的
            物件。從您的方法傳回的數值將會序列化
           。如果您的方法回傳未定義,則該成員將
            排除在序列化之外。
            如果replacer 參數是字串陣列,則它將
            用於選擇序列化的成員。它會過濾結果
           ,以可將具有取代陣列中所列出的鍵的成員使用
            字串化。
            沒有 JSON 表示形式的數值,例如未定義或
            函數,且不會被序列化。物件中的此類值將被刪除
           ;在陣列中,它們將被替換為 null。您可以使用
            替換函數替換為 JSON 值。
            JSON.stringify(undefined) 回傳未定義。
            選購的 space 參數產生
            值的字串
            若空格參數為非空白字串,則此字串將
            進行縮減。如果 space 參數是數字,則
            縮排將如此多空格。
            範例:
            text = JSON.stringify([) e",{"pluribus":"unum" }]'
            text = JSON.stringify(['e', {pluribus: 'unum'}], null, 't ');
  "pluribus": "unum"nt}n]'
            text = JSON.stringify([new Date()], function ( key, value) { ?
                    ' Date(' this[key] ')' : value;
            });
            // text is '["Date(---current time---)"]'
       物件或陣列。
            且可被拋出 SyntaxError 異常。
            可選擇的 reviver 參數是可過濾且
            轉換結果的函數。它接收每個鍵和值,
            並使用其回傳值來取代原始值。
            若它回復已接收的內容,結構則不會被修改。
            若它傳回未定義,則成員已刪除。
            範例:
            // 解析文字。看起來像 ISO 日期字串的值將
            // 轉換為 Date 物件。
            myData = JSON.parse(text, function (key, value) {
            if (typeof value === '字串') {
                    a =
/^ (d{4})-(d{2})-(d{2})T(d{2}):(d{2 }):(d{2}(?:.d*)?)Z $/.exec(value);
                    if (a) {
    C( a[1], a[2] - 1, a[3], a[4],
                            a[5], a[6]));                    myData = JSON.parse('["日期(09/ 09/2001)"]', function (key, value) {
                var d;
                           value.slice(0, 5) === '日期(' &&
                       value.slice(-1) === ')') {                       return d;
               }
                回值;
       );
    這是一個參考實作。您可以自由複製、修改或
    重新分發。
*/
/*jslint 邪惡: true, strict: false, regexp: false */
/*members "", "b" , "t", "n", "f", " r", """, JSON, "\", apply,
    呼叫, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
    getUTCMinutes, getUTCHours,
    我, length, parse, prototype, Push, Replace, slice, stringify,
    test, toJSON, toString, valueOf
*/
// 僅建立JSON 物件我們在閉包中建立
//方法以避免全域建立變項。 f(n) {
        // 將整數格式化為至少兩位數。 toJSON !== 'function') {
        Date.prototype.toJSON = function (key) {
                  this.getUTCFullYear()   '-'
f(this.getUTCMonth() 1) '-'
                 f(this.getUTCDate())      'T'
fthis.get               f(this.getUTCMinutes() )   ':'
                 f(this.getUTCSeconds())   'Z' : null;
      Number.prototype.toJSON =
        Boolean.prototype .toJSON = function (key) {
            return this.valueOf();
        u0604u070fu17b4u17b5u200c-u200fu2028-u202fu2060-u206fuffeffufff0-uffff]/g,
        可轉義= /[\"x00-x1fx7f-x9 fu00adu0600-u0604u070fu17b4u17b5u200c-u200fu2028-u17b4u17b5u200c-u200fu2028-u0        間隙,
        縮排,
        meta = {    //字號替換錶
            'b': '\b',
            '         'f': '\f',
'r': '\r',
            '"' : '\"',
            代表;
    function quote(string) {
        escapable.lastIndex = 0;
        return escapable.test(string) ?                return typeof c === 'string' ? c :
        6)).slice(-4);
}) '"' :
            '"' 字串'" ';
    }
    function str(key,holder) {
        var i,          // 循環計數器。
            k,          // 成員鍵。
            v,          // 成員值與位。
            長度,且
            心靈= 間隙,
    value =holder[key];
        if (value && typeof value === 'object' &&
       === '功能') {
            value = value.toJSON(key);
              value =rep.call(holder, key, value);
        }
        switch (typeof value) {
    );
        case 'number':
            return isFinite(value ) ? String(value) : 'null';
        case 'boolean':
        case 'null':            if (! value) {
                         部份= [];
            if (Object.prototype.toString.apply(value ) === ' [對象陣列]') {
                length = value.length;
                       partial[i] = str(i, value) || 'null';
                }
                       間隙? '[n' 間隙
                                          頭腦']' :
                 間隙=頭腦;
                的 v;
           
            if (rep && typeof rep === 'object') {
                for (i = 0; i                     k = 代表[i];
                   if (typeof k === 'string') {
                      v = str(k, value);
                        if (v) {
                           partial.push(quote(k ) (間隙? ': ' : ':') v);
                       }            } else {
                 if (Object.hasOwnProperty. call(value, k)) {
                        v = str(k, value if (v) {
                          會在中使用「上「)」() v.);
                       }
             }
            }
           v = 部份. 長度 === 0 ? '{}' :
               :'{'partial.join(',')'}' ;
           透明度=頭部值;
            return v;
  ify !== 'function') {
        JSON2.stringify = 函數( 、替換、符空格){
            var i ;
                   if (typeof space === 'number') {
                為(我= 0; i                    的縮排= ' ';
       } else if (typeof space === 'string') {
                縮排= 空格;
           }
rep = replacer;
if (replacer && typeof replacer !== 'function' &&
(type of replacer !== 'object' ||
typeof replacer.length !== '数値' )) {
throw new Error('JSON2.stringify');
}
return str('', {'': value});
};
}
if (typeof JSON2.parse !== 'function') {
JSON2.parse = function (text, reviver) {
var j;
function walk(holder, key) {
var k , v, value =holder[key];
if (value && typeof value === 'object') {
for (k in value) {
if (Object.hasOwnProperty. call(値, k)) {
v = walk(value, k);
if (v !== 未定義) {
value[k] = v;
} else {
値を削除[ k];
}
}
}
}
return reviver.call(holder, key, value);
}
text = String(text);
cx.lastIndex = 0;
if (cx.test(text)) {
text = text.replace(a) {
return '\u' > ('0000 ' a.charCodeAt(0).toString(16)).slice(-4);
});
}
if (/^[],:{}s]*$/
.test(text.replace(/\(?:["\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
.replace(/"[^"\nr]*"|true|false|null|-?d (?:.d*)?(?:[eE][ - ]?d )?/g, ']')
.replace(/(?:^|:|,)(?:s*[) /g, ''))) {
j = eval ( '(' text ')');
return of reviver === 'function'; 🎜>

2 番目、呼び出しページのコンテンツ
注: js ファイルを呼び出します。パスは自分で調整する必要があります。これを知らない場合は、読み続けないでください。 🎜>



コードをコピーします


コードは次のとおりです:

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1674
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
PHP 數組轉 JSON 的效能最佳化技巧 PHP 數組轉 JSON 的效能最佳化技巧 May 04, 2024 pm 06:15 PM

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

PHP中int型別轉字串的方法詳解 PHP中int型別轉字串的方法詳解 Mar 26, 2024 am 11:45 AM

PHP中int型別轉字串的方法詳解在PHP開發中,常會遇到將int型別轉換為字串型別的需求。這種轉換可以透過多種方式實現,本文將詳細介紹幾種常用的方法,並附帶具體的程式碼範例來幫助讀者更好地理解。一、使用PHP內建函數strval()PHP提供了一個內建函數strval(),可以將不同類型的變數轉換為字串類型。當我們需要將int型別轉換為字串型別時,

怎麼重複字串_python重複字串教程 怎麼重複字串_python重複字串教程 Apr 02, 2024 pm 03:58 PM

1.先開啟pycharm,進入到pycharm首頁。 2.然後新建python腳本,右鍵--點選new--點選pythonfile。 3.輸入一段字串,代碼:s="-"。 4.接著需要把字串裡面的符號重複20次,代碼:s1=s*20。5、輸入列印輸出代碼,代碼:print(s1)。 6.最後運行腳本,在最底部會看到我們的回傳值:-就重複了20次。

如何在Go語言中截取字串 如何在Go語言中截取字串 Mar 13, 2024 am 08:33 AM

Go語言是一種強大且靈活的程式語言,它提供了豐富的字串處理功能,包括字串截取。在Go語言中,我們可以使用切片(slice)來截取字串。接下來,將詳細介紹如何在Go語言中截取字串,並附上具體的程式碼範例。一、使用切片截取字串在Go語言中,可以使用切片表達式來截取字串的一部分。切片表達式的語法如下:slice:=str[start:end]其中,s

Golang中如何檢查字串是否以特定字元開頭? Golang中如何檢查字串是否以特定字元開頭? Mar 12, 2024 pm 09:42 PM

Golang中如何檢查字串是否以特定字元開頭?在使用Golang程式設計時,經常會遇到需要檢查一個字串是否以特定字元開頭的情況。針對這項需求,我們可以使用Golang中的strings套件所提供的函數來實現。接下來將詳細介紹如何使用Golang檢查字串是否以特定字元開頭,並附上具體的程式碼範例。在Golang中,我們可以使用strings套件中的HasPrefix

Jackson庫中註解如何控制JSON序列化和反序列化? Jackson庫中註解如何控制JSON序列化和反序列化? May 06, 2024 pm 10:09 PM

Jackson庫中的註解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略屬性@JsonProperty:指定名稱@JsonGetter:使用獲取方法@JsonSetter:使用設定方法反序列化:@JsonIgnoreProperties:忽略屬性@ JsonProperty:指定名稱@JsonCreator:使用建構子@JsonDeserialize:自訂邏輯

Golang 字串修改詳解:動態調整與可變性 Golang 字串修改詳解:動態調整與可變性 Apr 08, 2024 pm 03:27 PM

GoLang中的字串雖然不可變,但可透過以下技術動態修改:使用字串連接符號連接字串。使用字串格式化建立新字串。修改字串底層位元組切片。使用第三方庫提供的可變字串類型。

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 Mar 28, 2024 pm 03:02 PM

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧在PHP開發中,字串處理是一個非常常見的需求。有時候我們需要對字串進行處理,去除多餘的逗號,保留唯一的逗號。在這篇文章中,我將介紹一種實作技巧,並提供具體的程式碼範例。首先,我們來看一個常見的需求:假設我們有一個包含多個逗號的字串,我們需要去除多餘的逗號,只保留唯一的逗號。例如,將"apple,ba

See all articles