この記事では、javascript に関する関連知識を提供します。主に、JSON オブジェクト、JSON 配列、JSON 文字列など、JSON に関連する問題を紹介します。役に立つすべての人の役に立つことを願っています。
関連する推奨事項: javascript チュートリアル
1. JSON オブジェクト
タスクの説明
このレベルのタスク: JavaScript で JSON オブジェクトを定義する練習をします。
具体的な要件は次のとおりです:
key1、key2、key3 の 3 つの属性を持つ JSON オブジェクト JSONObject を定義します。それらの値は次のとおりです。パラメータ a、b、および c;
key3 という名前の属性を削除します;
削除が完了したら、残りのすべての属性を調べて戻ります各属性の値値を連結して形成された文字列、
データの送信には JSON が使用されるため、まずデータを保存する必要があります。データの保存には特定のデータ形式が必要です,JSON 一般的に使用されるデータ形式には、JSON オブジェクト、JSON 配列、JSON 文字列などがあります。
JSON オブジェクトとは
JSON オブジェクト (一般に JSON と呼ばれます) は、データの保存と送信に使用される テキスト データ
交換形式です。例は次のとおりです。
{"name":"Jerry", "age":15}
これは単純な json オブジェクトであり、そのルールは次のとおりです。
- データは
キー/値ペア
の形式で存在します。 - データはカンマで区切ります;
- 中括弧はオブジェクトの保存を示します;
- 角括弧は配列の保存を示します。
JSON オブジェクトと JavaScript オブジェクトの違い
JSON は JavaScript 構文に基づいているため、JSON にもオブジェクトの概念がありますが、JSON オブジェクトとはいくつかの小さな違いがあります。 JavaScript。
- JavaScript オブジェクトを定義します:
var myObject = { id:1, name:"Peter Bruce", "first name":"Bruce", display:function() { console.log(this.name); }}
- JSON オブジェクトを定義します:
{"id":1,"name":"Peter Bruce","first name":"Bruce"}
- 3 つの違い:
(1)JSON# の 属性名 (キー) ## オブジェクトは二重引用符 で囲む必要がありますが、JavaScript オブジェクトは任意ですが、スペースを含む属性名とハイフンを含む属性名を除き、中間は二重引用符で囲む必要があります;
(2) メソッドには指定できません は JSON オブジェクトで定義されていますが、JavaScript オブジェクトでは
;
(3)JSON オブジェクトは多くの言語で操作できますが、JavaScript オブジェクトは次の言語でのみ認識できます。 JS 自体 。
- JSON オブジェクトの定義方法は次のとおりです。
{}
でインクルードされ、属性名と属性値で構成される内部 A キーと値のペアがいくつかあります。キーと値のペアは で区切られ、属性名と属性値は :
で区切られます。属性値は、次のデータ型のいずれかになります。: 数値、文字列、JSON 配列、JSON オブジェクト、null。例:
{"a":1,"b":2.12,"c":true,"d":"string","e":null};
属性値が JSON 配列または JSON オブジェクトである状況は少し複雑になります。これについては、次のレベルで説明します。
JavaScript での JSON オブジェクトの使用
JSON をサポートするすべての言語で JSON オブジェクトを使用できますが、ここでは JavaScript で JSON オブジェクトを使用する方法のみを紹介します。
- JavaScript で JSON オブジェクトを定義します:
var jsonObject = {"name":"js","number":2};
- プロパティを操作するには、
.
または ## を使用します。 #[]:
console.log(jsonObject.name); //读属性,输出jsconsole.log(jsonObject["name"]); //读属性,输出jsjsonObject.name = "javascript"; //写属性,给name属性赋值javascript
- 属性を削除するには、delete を使用します:
var jsonObject = {"name":"js","number":2}; delete jsonObject.name; //删除name属性
- 属性をトラバースします、for-in ループを使用します:
var jsonObject = {"name":"js","number":2};for(att in jsonObject) { console.log(jsonObject[att]); //依次输出js、2}コード ファイル
function mainJs(a,b,c) {
//请在此处编写代码
/********** Begin **********/
var JSONObject = {"key1":a,"key2":b,"key3":c};
delete JSONObject.key3;
return a+","+b;
/********** End **********/}
2、JSON 配列タスクの説明
このレベルのタスク: JSON キーと値のペアの値を定義および操作します。
具体的な要件は次のとおりです。- myJson の 3 番目の属性の値は配列、パラメーター a は数値であることがわかっています。配列の最初の a 要素を追加する必要があります (これらの要素はすべて文字列型です) それらを結合し、要素を, で区切って、結合された文字列を返します;
- たとえば、a が 2 の場合、js、javaを返す必要があります。
- JSON キーと値のペアの値 (値) は配列にすることができます
{"country":"China","population":"1.3billion","bigCity":["Peking","Shanghai","ShenZhen","HongKong"]}属性 bigCity には複数の値があり、それらは配列に配置されます。 上記の例では、配列の各要素は文字列です。実際、
配列の各要素は別の json オブジェクト にすることもできます。例:
{"class":"高三一班","studentNumber":70,"score":[ {"name":"LiMing","score":128}, {"name":"ZhangHua","score":134}, {"name":"ShenLu","score":112}]}上記のスコア属性の値は配列であり、この配列の各要素は json オブジェクトです。 配列に対するいくつかの操作
- 要素の読み取りと書き込み:
var myJson = {"country":"China","population":"1.3billion","bigCity":["Peking","Shanghai","ShenZhen","HongKong"]}console.log(myJson.bigCity[1]); //打印出ShanghaimyJson.bigCity[0] = "GuangZhou"; //第一个元素被赋值为GuangZhou
- トラバース:
var myJson = {"country":"China","population":"1.3billion","bigCity":["Peking","Shanghai","ShenZhen","HongKong"]}for(var i = 0;i
var myJson = { "category":"computer", "detail":"programming", "language":[ "js","java","php","python","c" ]}function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ var b = ""; for(var i=0;i<a><pre class="brush:php;toolbar:false">var myJson = { "category":"computer", "detail":"programming", "language":[ "js","java","php","python","c" ]}function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ if(a==1){ return myJson.language[0]; } if(a==2){ return myJson.language[0]+","+myJson.language[1]; } if(a==3){ return myJson.language[0]+","+myJson.language[1]+","+myJson.language[2]; } if(a==4){ return myJson.language[0]+","+myJson.language[1]+","+myJson.language[2]+","+myJson.language[3]; } if(a==5){ return myJson.language[0]+","+myJson.language[1]+","+myJson.language[2]+","+myJson.language[3]+","+myJson.language[4]; } /********** End **********/}3. JSON 文字列タスクの説明
このレベルのタスク: JSON 文字列と JavaScript オブジェクトを相互に変換する練習をします。他の。
具体的な要件は次のとおりです:- 先将JSON字符串JSONString转换为JavaScript对象JSONObject;
- 然后将JSONObject的key1属性的值设置为mainJs()函数的参数a;
- 最后将JSONObject转换为JSON字符串,并返回该字符串
在前端和后台之间传递数据可以使用JSON,但是实际上传递的是JSON字符串,而JSON对象是不可以直接进行传递的。
JSON字符串
JSON字符串就是在JSON对象两边套上'
形成的字符串,如:
var JSONObject = {"k1":"v1","k2":"v2"}; //JSON对象var JSONString1 = '{"k1":"v1","k2":"v2"}'; //JSON字符串
上面的JSONSring1就是JSON字符串,可以直接从前端传到后台或者后台传到前端。
当JavaScript收到从后台传来的JSON字符串后,怎么把它变成JSON对象方便处理呢?
JSON字符串到JavaScript对象
JSON.parse(a,b)
方法将JSON字符串a转换为JavaScript对象。b是一个可选的函数参数。
var JSONString1 = '{"k1":"v1","k2":"v2"}';console.log(JSON.parse(JSONString1)); //输出Object {k1: "v1", k2: "v2"}
函数参数b按从里到外
的顺序作用在对象的所有属性上,最后一个作用的是对象本身:
//对象的每一个属性的值加1var text = '{ "key1":1, "key2":2, "key3":2.2}';var obj = JSON.parse(text, function (key, value) { if(key === '')//当遇到对象本身时,不进行加1操作 return value; return value+1;//对属性值加1});console.log(obj); //输出Object {key1: 2, key2: 3, key3: 3.2}
如上面所示,函数的参数有两个,其中key表示属性的名字,value表示属性的值,当遇到对象本身时,key的值为''
,即空字符串。
JSON对象转换为JSON字符串
JSON.stringify(a,b,c)
,a是待转换的JSON对象,b和c为可选参数。
var JSONObject = {"k1":"v1","k2":"v2"}; JSON.stringify(JSONObject); //JSON对象转换为JSON字符串
参数b为函数时,该函数按照从里到外的顺序处理JSON对象的每一个属性,最后一个处理的是JSON对象本身,处理完后再转为JSON字符串:
//对象的所有属性值加1,再转为字符串var JSONObject = {"k1":1,"k2":2.2};var JSONString = JSON.stringify(JSONObject,function(k,v){ if(k === '')//处理到了JSON对象本身 return v; return v+1;//所有的属性的值加1});console.log(JSONString); //输出{"k1":2,"k2":3.2}
参数b还可以是数组,数组存储的是属性的名字,用来指定只转换哪些属性:
//转换对象中特定的属性 var JSONObject = {"k1":1,"k2":2.2,"k3":3};var JSONString = JSON.stringify(JSONObject,["k1","k2"]);console.log(JSONString); //输出{"k1":1,"k2":2.2}
这里简单介绍一下c:
var str = ["name":"Tom","age":16];var obj1 = JSON.stringify(str); var obj2 = JSON.stringify(str,null,4);console.log(obj1); //输出{"name":"Tom","age":16}console.log(obj2); //输出 //{ // "name": "Tom", // "age": 16 //}
参数c:文本添加缩进、空格和换行符,如果 c 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 c 大于 10,则文本缩进 10 个空格。
代码文件
var JSONString = '{"key1":"value1","key2":"value2"}';function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var JSONObject = JSON.parse(JSONString); JSONObject["key1"] = a; JSONObject.key1 = a; return JSON.stringify(JSONObject); /********** End **********/}
相关推荐:javascript学习教程
以上がJavaScript の学習と理解のための JSON (概要の共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1
使いやすく無料のコードエディター
