えっと、これはJSONです.
4757 ワード
この文章を書く理由
JSONを知っていますか
私は以前は
それから自分で関連資料を調べて、結論を出しました.今取り出して皆さんと分かち合います.また、もし文章に間違いがあったら、直してください.
JSONとは何ですか
まず、公式はどのように
公式的な説明は、特に明らかではないが、これはライト級のデータ交換形式であり、JavaScriptに基づいてサブセットであるということだけを説明している.これは全然説明できません.しかし、他のデータ交換形式を連想しました.それはxmlです.このフォーマットは特にwebServiceで多く使われています.xmlは何ですか?本質はDOM構造です.対照的に、
JSONの文法紹介
一般的なJSONデータ構造は、それぞれ2つの形態があります.「名前/値」ペアのセットは、JavaScriptのオブジェクトのようです. 値にはシリアルテーブルがあります.ほとんどの言語では、配列として理解されています. まず第一の場合を見ますと、対象は無秩序な「名前/値ペア」の集合です.一つのオブジェクトは「{」(左括弧)で始まり、「}」(右括弧)で終了します.各「名称」の後に「:」(コロン);「名前/値ペア」の間に「、」(カンマ)で区切られます.
これはJavaScriptの対象文字の量と似ていますが、本質的には違いがあります.例えば、オブジェクトの名前(またはkey)はダブルクォーテーションマークでくくらなければなりません.引用符だけではだめです.ましてや無視する必要はありません.JavaScriptのオブジェクトの名前の値はしばしばダブルクォーテーションを無視しますが.
この他に、これらの値以外は問題が解決され、先ほどのようにJSONの値に
次に、値を見るには、シーケンステーブル(または配列と呼ばれる)があり、配列は、値のあるシーケンステーブルであり、1つの配列は、「」(左中かっこ)で始まり、「」(右中かっこ)で終了します.
そろそろ文法を紹介し終わって、まとめてみます.
JavaScript言語におけるJSONの解析と序列化
JavaScriptでは、常にJSONを処理しています.例えば、データを提出する前に、しばしば順序化処理が必要です.その後に引いてきたJSONデータは、よく解析してJavaScriptオブジェクトを得ることがあります.JavaScriptライブラリを使用しています.これらのライブラリはJSONの操作をカプセル化していますので、現象を引き起こします.つまり、私たちは使うだけで、本質を揃えることができます.私たちはよく分かりません.
初期のJSON解像器はJavaScript中のevalを通過する()関数によって解析されます.ECMA 5の配置が規範化されるまで、JSONオブジェクトはJSONを解析して序列化するために定義されています.JSONというグローバルオブジェクトをサポートするブラウザは、IE 8+、FF 3.5+、Safari 4+、ChromeおよびOpera 10.5+を含みます.この対象をサポートしないブラウザについては、IE 6、IE 7などはどのように処理しますか?
心配しないでください.JSONの発明者はとっくに互換コードを実現してくれました.その住所は:https://github.com/douglascrockford/JSON-jsを選択します.オリジナルのJSONオブジェクトをサポートしない場合には、このコードを導入して互換性の問題を解決できます.
JSONには、2つの主要な方法があり、JSONの序文化と解析を解決するために用いられています.それぞれ
ECMA 5で定義されている標準インターフェースは以下の通りです.
ECMA 5対
最初のパラメータの役割は、変換されるJSON文字列です.たとえば、上のjson Textをparseを通じて元のJavascriptオブジェクトに戻すことができます.
var obj=JSON.parse(json Text)//objはJavaScriptオブジェクトです.
2番目のパラメータは、関数であり、より細かい制御変換プロセスに使用されます.2つのパラメータを受け入れて、それぞれJSONデータのキーパッドのペアに対応しています.呼び出し例は以下の通りです.
JSON中国語公式サイト
JSONを知っていますか
JSON
はJavaScriptの対象ですか?JSON
は、functionオブジェクトを記憶してもいいですか?JSON
の本質は何ですか?JSON
は注釈が書けますか?全部答えられたら、おめでとうございます.JSON
についてよく知っています.もし書いてもよく分かりません.私と一緒に相談する必要がありますか?私は以前は
JSON
の概念についても一知半解で、よくJavaScriptのObjectオブジェクトと混同していたので、多くの間違いを引き起こしました.特に研究JSON
には、package.jsonというファイルがあります.このファイルにコメントを書いたり、関数を記憶したりすると、最終的にこのファイルを解析するときにエラーが発生します.それから自分で関連資料を調べて、結論を出しました.今取り出して皆さんと分かち合います.また、もし文章に間違いがあったら、直してください.
JSONとは何ですか
まず、公式はどのように
NodeJS
を記述しているかを見てみましょう.JSON(JavaScript Object Notation)はライト級のデータ交換形式です.読みやすく、書きやすい.機械解析と生成も容易です.それはJavaScript Programming Languageに基づいて、Standard ECMA-232 rd Edition-December 1999のサブセットです.JSONは言語から完全に独立したテキスト形式を採用していますが、C言語家族のような習慣も使用しています.これらの特性はJSONを理想的なデータ交換言語にする.ソースアドレスを参照:http://www.json.org/json-zh.html. 公式的な説明は、特に明らかではないが、これはライト級のデータ交換形式であり、JavaScriptに基づいてサブセットであるということだけを説明している.これは全然説明できません.しかし、他のデータ交換形式を連想しました.それはxmlです.このフォーマットは特にwebServiceで多く使われています.xmlは何ですか?本質はDOM構造です.対照的に、
JSON
の本質は文字列ですが、この文字列は異なる文字列ではなく、いくつかの列の文法と構造があります.その文法を紹介します.JSONの文法紹介
一般的なJSONデータ構造は、それぞれ2つの形態があります.
これはJavaScriptの対象文字の量と似ていますが、本質的には違いがあります.例えば、オブジェクトの名前(またはkey)はダブルクォーテーションマークでくくらなければなりません.引用符だけではだめです.ましてや無視する必要はありません.JavaScriptのオブジェクトの名前の値はしばしばダブルクォーテーションを無視しますが.
{
name : 'test',
age : 123,
success : function(){
//todo
}
}
JSONでは通用しません.「名称(key)」の値に制限があるほか、対象の「値(value)」も制限されています.例えば、JavaScriptの対象の字面量の値は文字列、配列、関数、整形に関係なく任意に値を付けられます.JSONの値はダブルクォーテーションの文字列(string)、数値(umber)であることができます.true、false、null、オブジェクトまたは配列、この他に、これらの値以外は問題が解決され、先ほどのようにJSONの値に
json
を付与するとエラーとなる.次に、値を見るには、シーケンステーブル(または配列と呼ばれる)があり、配列は、値のあるシーケンステーブルであり、1つの配列は、「」(左中かっこ)で始まり、「」(右中かっこ)で終了します.
そろそろ文法を紹介し終わって、まとめてみます.
function
は本質的に意味のある文字列データのインタラクティブフォーマットです.JavaScript言語におけるJSONの解析と序列化
JavaScriptでは、常にJSONを処理しています.例えば、データを提出する前に、しばしば順序化処理が必要です.その後に引いてきたJSONデータは、よく解析してJavaScriptオブジェクトを得ることがあります.JavaScriptライブラリを使用しています.これらのライブラリはJSONの操作をカプセル化していますので、現象を引き起こします.つまり、私たちは使うだけで、本質を揃えることができます.私たちはよく分かりません.
初期のJSON解像器はJavaScript中のevalを通過する()関数によって解析されます.ECMA 5の配置が規範化されるまで、JSONオブジェクトはJSONを解析して序列化するために定義されています.JSONというグローバルオブジェクトをサポートするブラウザは、IE 8+、FF 3.5+、Safari 4+、ChromeおよびOpera 10.5+を含みます.この対象をサポートしないブラウザについては、IE 6、IE 7などはどのように処理しますか?
心配しないでください.JSONの発明者はとっくに互換コードを実現してくれました.その住所は:https://github.com/douglascrockford/JSON-jsを選択します.オリジナルのJSONオブジェクトをサポートしない場合には、このコードを導入して互換性の問題を解決できます.
JSONには、2つの主要な方法があり、JSONの序文化と解析を解決するために用いられています.それぞれ
JSON
とstringfy
です.それぞれの使い方を見てみましょう.ECMA 5で定義されている標準インターフェースは以下の通りです.
/**
@param {*} value
@param {Function} [replacer]
@param {Number|String} [space]
@static
*/
JSON.stringify = function(value,replacer,space) {};
この中で一つのパラメータはドロップしなければなりません.また、順序付けの対象です.コード例は以下の通りです.var obj = {
name : 'hello',
age : 18
}
var jsonText = JSON.stringify(obj) // :{"name":"hello","age":18}
2番目のパラメータはオプションであり、関数または配列となります.配列であれば、フィルタ項目を指定します.上記の例を例にとって、次のように呼びます.var jsonText = JSON.stringify(obj,["name"]) // : {"name":"hello"}
関数の場合、コールバック関数内のパラメータは、Javascriptのオブジェクト内のparse
およびkey
の値に対応している.例は以下の通りである.var jsonText = JSON.stringify(obj,function(key,value){
switch(key) {
case "name": return value+" json";
case "age" : return 20;
default : return value;
}
});
// {"name":"hello json","age":20}
3番目のパラメータもオプションです.文字列のインデントを行うには、次のような例があります.var jsonText = JSON.stringify(obj,null,4); // 4
// , :
{
"name" : "hello",
"age" : 18
}
数字の設定ができるほか、文字設定でインデントすることもできます.興味があれば試してみてください.ECMA 5対
value
インターフェースの定義は以下の通りである./**
@param {string} jsonString
@param {Function} [reviver]
@static
*/
JSON.parse = function(jsonString,reviver) {};
この方法は、2つのパラメータを受け入れる.ここで、2番目のパラメータは任意である.最初のパラメータの役割は、変換されるJSON文字列です.たとえば、上のjson Textをparseを通じて元のJavascriptオブジェクトに戻すことができます.
var obj=JSON.parse(json Text)//objはJavaScriptオブジェクトです.
2番目のパラメータは、関数であり、より細かい制御変換プロセスに使用されます.2つのパラメータを受け入れて、それぞれJSONデータのキーパッドのペアに対応しています.呼び出し例は以下の通りです.
var obj = JSON.parse(jsonText,function(key,value){
//todo
});
ヘルプリンクJSON中国語公式サイト