ホームページ ウェブフロントエンド 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
自分のコピーを使用してください。自分が制御していないサーバーからコードをロードするのは非常に賢明ではありません。
このファイルは、stringify
と parse.
JSON.stringify(value, replacer, space) の 2 つのメソッドを含むグローバル JSON オブジェクトを作成します。 )
value 任意の JavaScript 値、通常はオブジェクトまたは配列。
replacer object
オブジェクトの値を文字列化する方法を決定するオプションのパラメータ。
関数または文字列の配列にすることができます。
space ネストされた構造のインデントを指定するオプションのパラメーター
。省略した場合、テキストは、
余分な空白なしでパックされます。数値の場合

各レベルでインデントするスペースの数を指定します。文字列 (「t」や「 」など) の場合、
各レベルでのインデントに使用される文字が含まれます。
このメソッドは、JavaScript 値から JSON テキストを生成します。
オブジェクトの場合値が見つかった場合、オブジェクトに toJSON
メソッドが含まれている場合、その toJSON メソッドが呼び出され、結果は
文字列化されます。 toJSON メソッドはシリアル化されません。シリアル化する必要がある名前と値のペアで表される
値を返します。
何もシリアル化する必要がない場合は、未定義を返します。 toJSON メソッド
値に関連付けられたキーが渡され、これは値
値にバインドされます
たとえば、これにより日付が ISO 文字列としてシリアル化されます。
Date.prototype.toJSON = function (key) {
function f(n) {
// 整数を少なくとも 2 桁にフォーマットします。
return n < 10? '0' n : n;
}
return this.getUTCFull Year() '-'
f(this.getUTCMonth() 1) '-'
f(this. getUTCDate()) 'T'
f(this.getUTCHours( )) ':'
f(this.getUTCMinutes()) ':'
f(this.getUTCSeconds()) 'Z';
};
オプションの replacer メソッドを提供できます。これには、各メンバーの
キーと値が渡され、これが含まれる
オブジェクトにバインドされます。メソッドから返される値は
シリアル化されます。メソッドが未定義を返す場合、メンバーは
シリアル化から除外されます。
replacer パラメーターが文字列の配列の場合、シリアル化するメンバーを選択するために
が使用されます。結果をフィルタリングします
置換配列にリストされているキーを持つメンバーのみが文字列化される

未定義関数や
関数など、JSON 表現を持たない値はシリアル化されません。オブジェクト内のそのような値は
削除されます。配列では null に置き換えられます。
置換関数を使用して、これらを JSON 値に置き換えることができます。
JSON.stringify(unknown) は unknown を返します。
オプションのスペース パラメーターは、改行で埋められた
値の文字列化を生成します。
読みやすくするためのインデント

スペースパラメータが空でない文字列の場合、その文字列は
インデントに使用されます。スペース パラメーターが数値の場合、
インデントはその数のスペースになります。
例:
text = JSON.stringify(['e', {pluribus: 'unum'}]);
// テキストは '["e",{"pluribus":"unum"}]'
text = JSON.stringify(['e', {pluribus: 'unum'}], null, 't ');
// テキストは '[nt"e",nt{ntt"pluribus": "unum"nt}n]'
text = JSON.stringify([new Date()], function ( key, value) {
return this[key] instanceof Date ?
'Date(' this[key] ')' : value;<🎜> });
// text は '["Date(---current time---)"]'
JSON.parse(text, reviver)
このメソッドは JSON テキストを解析してオブジェクトを生成します
SyntaxError 例外がスローされる可能性があります。
オプションの reviver パラメータは、結果をフィルタリングして
変換できる関数です。各キーと値を受け取ります
そして、その戻り値が元の値の代わりに使用されます。
受け取ったものを返す場合、構造は変更されません。
未定義を返す場合、メンバーが削除されました。
例:
// テキストを解析します。 ISO 日付文字列のような値は
// Date オブジェクトに変換されます。
myData = JSON.parse(text, function (key, value) {
var a;
if (typeof value) === '文字列') {
a =
/^(d{4})-(d{2})-(d{2})T(d{2}):(d{2 }):(d{2}(?:.d*)?)Z$/.exec(value);
if (a) {
return new Date(Date.UTC( a[1], a[2] - 1、a[3]、a[4]、
a[5], a[6]));
}
}
戻り値;
} );
myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
var d;
if (typeof value === '文字列' &&
value.slice(0, 5) === 'Date(' &&
value.slice(-1) === ')') {
d = 新しい日付(値. lice(5, -1));
if (d) {
return d;
}
}
戻り値;
});
これはリファレンス実装です。コピー、変更、または
再配布は自由です。
*/
/*jslint evil: true、strict: false、regexp: false */
/*members "", "b" 、「t」、「n」、「f」、「r」、「」」、JSON、「\」、apply、
call、charCodeAt、getUTCDate、getUTCFull Year、getUTCHours、
getUTCMinutes、getUTCMonth、getUTCSeconds 、hasOwnProperty、join、
lastIndex、length、parse、prototype、push、replace、slice、stringify、
test、toJSON、toString、valueOf
*/
// 次の場合にのみ JSON オブジェクトを作成します。グローバル変数の作成を避けるために、クロージャ内に
// メソッドを作成します。
if (!this.JSON2)
{
this.JSON2 = {};
}
(function () {
"use strict";
function f(n) {
// 整数を少なくとも 2 桁になるようにフォーマットします。
return n < 10 ? '0' n : n;
}
if (typeof Date.prototype.toJSON !== 'function') {
Date.prototype.toJSON = function (key) {
return isFinite( this.valueOf()) ?
this.getUTCFull Year() '-'
f(this.getUTCMonth() 1) '-'
f(this.getUTCDate()) 'T'
f(this.getUTCHours()) ':'
f(this.getUTCMinutes()) ':'
f(this.getUTCSeconds()) 'Z' : null;
};
String.prototype.toJSON =
Number.prototype.toJSON =
Boolean.prototype.toJSON = function (key) {
return this.valueOf();
};
}
var cx = /[u0000u00adu0600-u0604u070fu17b4u17b5u200c-u200fu2028-u202fu2060-u206fufefffff0-uffff]/g,
エスケープ可能 = /[\"x00-x1fx7f-x9 fu00adu0600-u0604u070fu17b4u17b5u200c-u200fu2028-u202fu2060-u206fufefffff0-uffff]/g,
gap,
indent,
meta = { // 文字置換のテーブル
'b': '\b',
'\t',
'n ': '\n',
'f': '\f',
'r': '\r',
'"' : '\"',
'\': '\\'
},
rep;
function quote(string) {
escapable.lastIndex = 0;
return escapable.test(string) ?
'"文字列.replace(escapable, function (a) {
var c = meta[a];
return typeof c === 'string' ? c :
'\u' ('0000' a.charCodeAt(0).toString(16)).slice(-4);
}) '"' :
'"' 文字列 '" ';
}
function str(key,holder) {
var i, // ループカウンター。
k, // メンバーキー
v, // メンバーの値
長さ、
マインド = ギャップ,
部分的,
value =holder[key];
if (value && typeof value === 'object' &&
typeof value.toJSON === '関数') {
value = value.toJSON(key);
}
if (typeof rep === 'function') {
value = rep.call(holder, key, value);
}
switch (typeof value) {
case 'string':
return quote(value);
case 'number':
return isFinite(value) ? String(value) : 'null';
case 'boolean':
case 'null':
return String(value);
case 'object':
if (!value) {
return 'null';
}
ギャップ = インデント;
部分 = [];
if (Object.prototype.toString.apply (値) === '[オブジェクト配列]') {
length = value.length;
for (i = 0; i < length; i = 1) {
partial[i] = str(i, value) || 'null';
}
v = 部分長 === 0 ? '[]' :
ギャップ? '[n' ギャップ
partial.join(',n' ギャップ) 'n'
']' :
'['partial.join(',') ']';
ギャップ = マインド;
return v;
}
if (rep && typeof rep === 'object') {
length = rep.length;
for (i = 0; i < length; i = 1) {
k = rep[i];
if (typeof k === 'string') {
v = str(k, value);
if (v) > partial.push(quote(k ) (gap ? ': ' : ':') v);
}
}
}
} else {
for (値の k) {
if (オブジェクト. hasOwnProperty.call(value, k)) {
v = str(k, value);
if (v) {
部分的。 Push(quote(k) (ギャップ ? ': ' : ': ') v);
}
}
}
}
v = 部分長 === 0 ? '{}' :
ギャップ? '{n' ギャップpartial.join(',n' ギャップ) 'n'
心 '}' : '{' Partial.join(',') '}';
ギャップ = 心;
return v;
}
}
if (typeof JSON2.stringify !== 'function') {
JSON2.stringify = function (value, replacer, space) {
var i ;
ギャップ = '';
indent = '';
if (typeof space === 'number') {
for (i = 0; i < space; i = 1) {
indent = ' ';
}
} else if (typeof space === 'string') {
indent = space;
}
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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

PHPでint型をstringに変換する方法を詳しく解説 PHPでint型をstringに変換する方法を詳しく解説 Mar 26, 2024 am 11:45 AM

PHPでint型をstring型に変換する方法を詳しく解説 PHPの開発では、int型をstring型に変換する必要に遭遇することがよくあります。この変換はさまざまな方法で実現できますが、この記事では、読者の理解を深めるために、具体的なコード例とともに、いくつかの一般的な方法を詳しく紹介します。 1. PHP の組み込み関数 strval() を使用する PHP には、さまざまな型の変数を文字列型に変換できる組み込み関数 strval() が用意されています。 int型をstring型に変換する必要がある場合、

Go言語で文字列をインターセプトする方法 Go言語で文字列をインターセプトする方法 Mar 13, 2024 am 08:33 AM

Go 言語は、文字列インターセプトを含む豊富な文字列処理機能を提供する強力で柔軟なプログラミング言語です。 Go 言語では、スライスを使用して文字列をインターセプトできます。次にGo言語で文字列をインターセプトする方法を具体的なコード例を交えて詳しく紹介します。 1. スライスを使用して文字列をインターセプトする Go 言語では、スライス式を使用して文字列の一部をインターセプトできます。スライス式の構文は次のとおりです。slice:=str[start:end]where, s

python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 Apr 02, 2024 pm 03:58 PM

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Mar 12, 2024 pm 09:42 PM

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang でプログラミングする場合、文字列が特定の文字で始まるかどうかを確認する必要がある状況によく遭遇します。この要件を満たすために、Golang の strings パッケージによって提供される関数を使用してこれを実現できます。次に、Golangを使って文字列が特定の文字で始まるかどうかを確認する方法を、具体的なコード例とともに詳しく紹介します。 Golang では、strings パッケージの HasPrefix を使用できます。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 文字列操作: スペースを効果的に削除する実用的な方法 Mar 24, 2024 am 11:45 AM

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する実装のヒント PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する実装のヒント Mar 28, 2024 pm 03:02 PM

PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する 実装のヒント PHP 開発では、文字列処理は非常に一般的な要件です。場合によっては、文字列を処理して余分なカンマを削除し、カンマのみを残す必要があります。この記事では、実装テクニックと具体的なコード例を紹介します。まず、一般的な要件を見てみましょう。複数のカンマを含む文字列があり、余分なカンマを削除して一意のカンマのみを保持する必要があるとします。たとえば、「apple,ba」を置き換えます。

See all articles