検索
ホームページウェブフロントエンドjsチュートリアルJSON_json の stringify 関数、toJosn 関数、および parse 関数に関する簡単な説明

JSON.stringify 関数 (JavaScript)

構文: JSON.stringify(value [, replacer] [, space])

JavaScript 値を JavaScript Object Notation (Json) 文字列に変換します。

コードをコピーします コードは次のとおりです:


必須。 変換する JavaScript 値 (通常はオブジェクトまたは配列)。
交換者
オプション。 結果の変換に使用される関数または配列。
replacer が関数の場合、JSON.stringify はその関数を呼び出し、各メンバーのキーと値を渡します。 元の値の代わりに戻り値を使用します。 この関数が未定義を返した場合、メンバーは除外されます。 ルート オブジェクトのキーは空の文字列「"」です。
replacer が配列の場合、配列内のキー値を持つメンバーのみが変換されます。 メンバーは配列内のキーと同じ順序で変換されます。 value 引数も配列である場合、replacer 配列は無視されます。
スペース
オプション。 戻り値の JSON テキストにインデント、スペース、改行を追加して読みやすくします。
スペースを省略した場合、戻り値のテキストは余分なスペースなしで生成されます。
スペースが数値の場合、戻り値のテキストは各レベルで指定された数のスペースでインデントされます。 スペースが 10 より大きい場合、テキストはスペース 10 個分インデントされます。
スペースが空ではない文字列 (" " など) の場合、戻り値のテキストは文字列内の文字によって各レベルでインデントされます。
スペースが 10 文字を超える文字列の場合は、最初の 10 文字が使用されます。

値に toJSON メソッドがある場合、JSON.stringify 関数はそのメソッドの戻り値を使用します。 toJSONメソッドの戻り値が未定義の場合、メンバーは変換されません。 これにより、オブジェクトが独自の JSON 表現を決定できるようになります。

未定義など、JSON 表現を持たない値は変換されません。 オブジェクトでは、これらの値は破棄されます。 配列では、これらの値は null に置き換えられます。

約定命令

シリアル化プロセス中に、value パラメーターが toJSON メソッドに対応する場合、JSON.stringify は最初に toJSON メソッドを呼び出します。 メソッドが存在しない場合は、元の値が使用されます。 次に、replacer パラメータが指定されている場合、その値 (元の値または toJSON 戻り値のいずれか) が replacer パラメータの戻り値で置き換えられます。 最後に、オプションのスペース パラメーターに基づいて値にスペースが追加され、最終的な JSON テキストが生成されます。

この例では、JSON.stringify を使用して連絡先オブジェクトを JSON テキストに変換します。 姓と電話番号のメンバーのみを変換するように memberfilter 配列を定義します。 名メンバーを省略します。

コードをコピーします コードは次のとおりです:

var contact = new Object();
contact.firstname = "ジェスパー";
contact.surname = "アーバーグ";
contact.phone = ["555-0100", "555-0120"];
var memberfilter = new Array();
memberfilter[0] = "姓";
memberfilter[1] = "電話";
var jsonText = JSON.stringify(contact, memberfilter, "t");
document.write(jsonText);
// 出力:
// { "姓": "Aaberg", "電話番号": [ "555-0100", "555-0120" ] }

toJSON メソッド (日付) (JavaScript)

構文: objectname.toJSON()

オブジェクト名

必須。 JSON シリアル化する必要があるオブジェクト。

toJSON メソッドは、Date JavaScript オブジェクトの組み込みメンバーです。 ISO 形式の日付文字列を UTC タイムゾーンで返します (接尾辞 Z で表されます)。

次の例では、toJSON メソッドを使用して大文字の文字列メンバー値をシリアル化します。 toJSON メソッドは、JSON.stringify を呼び出すときに呼び出されます。

コードをコピーします コードは次のとおりです:

JavaScript
var contact = new Object();
contact.firstname = "ジェスパー";
contact.surname = "アーバーグ";
contact.phone = ["555-0100", "555-0120"];
contact.toJSON = 関数(キー)
{
var replace = new Object();
for (この中の var val)
{
If (typeof (this[val]) === 'string')
replace[val] = this[val].toUpperCase();
その他
置換[val] = this[val]
}
返品交換;
};
var jsonText = JSON.stringify(contact);
/* jsonText の値は次のとおりです:
'{"名":"JESPER","姓":"AABERG","電話番号":["555-0100","555-0120"]}'
*/

JSON.parse 関数 (JavaScript)

JavaScript Object Notation (JSON) 文字列をオブジェクトに変換します

構文: JSON.parse(text [, reviver])

コードをコピーします コードは次のとおりです:

テキスト
必須。 有効な JSON 文字列。
リバイバー
オプション。 結果を変換する関数。 この関数は、オブジェクトのメンバーごとに呼び出されます。 メンバーにネストされたオブジェクトが含まれている場合、ネストされたオブジェクトは親オブジェクトの前に変換されます。 各メンバーに対して、次のことが起こります:
reviver が有効な値を返した場合、メンバーの値は変換された値に置き換えられます。
リバイバーが受け取ったのと同じ値を返す場合、メンバーの値は変更されません。
reviver が null または未定義を返した場合、メンバーは削除されます。

次の例では、JSON.parse を使用して JSON 文字列をオブジェクトに変換します。

コードをコピーします コードは次のとおりです:

var jsontext = '{"名":"ジェスパー","姓":"アーバーグ","電話":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname ", " contact.firstname);
// 出力: Aaberg、Jesper

次の例は、JSON.stringify を使用して配列を JSON 文字列に変換し、その後 JSON.parse を使用して文字列を配列に変換する方法を示しています。

コードをコピーします コードは次のとおりです:

var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
document.write ("
");
var newArr = JSON.parse(str);
while (newArr.length > 0) {
Document.write(newArr.pop() "
");
}
// 出力:
// ["a","b","c"]
// c
// b
//
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
VUE3怎么使用JSON编辑器VUE3怎么使用JSON编辑器May 12, 2023 pm 05:34 PM

1、先看看效果图,可以自行选择展示效果2、这是我在vue3项目中使用的JSON编辑器,首先引入第三方插件npminstalljson-editor-vue3yarnaddjson-editor-vue33、引入到项目中//导入模块importJsonEditorVuefrom'json-editor-vue3'//注册组件components:{JsonEditorVue},4、一般后端返回的是会将JSON转为String形式我们传给后端也是通过这种形式,就可以通

SpringBoot之Json的序列化和反序列化问题怎么解决SpringBoot之Json的序列化和反序列化问题怎么解决May 12, 2023 pm 04:07 PM

控制json序列化/反序列化1.@JsonIgnoreProperties的用法@JsonIgnoreProperties(value={"prop1","prop2"})用来修饰Pojo类,在序列化和反序列化的时候忽略指定的属性,可以忽略一个或多个属性.@JsonIgnoreProperties(ignoreUnknown=true)用来修饰Pojo类,在反序列化的时候忽略那些无法被设置的属性,包括无法在构造子设置和没有对应的setter方法.2.@Js

Java怎么调用接口获取json数据解析后保存到数据库Java怎么调用接口获取json数据解析后保存到数据库May 14, 2023 am 10:58 AM

Java调用接口获取json数据保存到数据库1.在yml文件中配置自己定义的接口URL//自己定义的JSON接口URLblacklist_data_url:接口URL2.在Controller中添加请求方法和路径/***@Title:查询*@Description:查询车辆的记录*@Author:半度纳*@Date:2022/9/2717:33*/@GetMapping("/Blacklist")publicvoidselectBlacklist(){booleana=imB

深入解析JWT(JSON Web Token)的原理及用法深入解析JWT(JSON Web Token)的原理及用法Jan 10, 2023 am 10:55 AM

本篇文章给大家带来了关于JWT的相关知识,其中主要介绍了什么是JWT?JWT的原理以及用法是什么?感兴趣的朋友,下面一起来看一下吧,希望对大家有帮助。

java怎么校验json的格式是否符合要求java怎么校验json的格式是否符合要求May 15, 2023 pm 04:01 PM

JSONSchemaJSONSchema是用于验证JSON数据结构的强大工具,Schema可以理解为模式或者规则。JsonSchema定义了一套词汇和规则,这套词汇和规则用来定义Json元数据,且元数据也是通过Json数据形式表达的。Json元数据定义了Json数据需要满足的规范,规范包括成员、结构、类型、约束等。JSONSchema就是json的格式描述、定义、模板,有了他就可以生成任何符合要求的json数据json-schema-validator在java中,对json数据格式的校验,使用

php输出json无法解析的原因和解决方法【总结】php输出json无法解析的原因和解决方法【总结】Mar 23, 2023 pm 04:35 PM

PHP作为一种常见的编程语言,在web开发中使用广泛,其与前端交互的方式也多种多样。其中,输出Json数据是一种常见的交互方式,但有时候会碰到Json无法解析的问题。为什么会出现无法解析的情况呢?下面列举了几个可能的原因。

SpringBoot怎么返回Json数据格式SpringBoot怎么返回Json数据格式May 19, 2023 pm 11:49 PM

一、@RestController注解在SpringBoot中的Controller中使用@RestController注解即可返回JSON格式的数据。@RestController注解包含了@Controller和@ResponseBody注解。@ResponseBody注解是将返回的数据结构转换为JSON格式。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@Respons

php如何将xml转为json格式?3种方法分享php如何将xml转为json格式?3种方法分享Mar 22, 2023 am 10:38 AM

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境