WikiChree.COM 新規   編集   添付   管理  



トップ   編集 編集〔GUI〕 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

Pkript/API/JSON の変更点

#author("2026-08-31T22:07:47+09:00","default:guide","guide")
* Pkript/API/JSON [#v8aa425e]
#author("2026-09-04T00:05:51+09:00","default:mcp","bot-mcp")
* Pkript/API/JSON [#y551b75e]

JSONのシリアライズ・パースのAPI。
JSONのシリアライズとパースを行うAPI。

** リファレンス [#wef1c207]
** リファレンス [#z3f83b89]

*** JSON.stringify(val, [indent]) [#ca24b18a]
*** JSON.stringify(val, [indent]) [#cb66622a]

#pkript(highlight){{
#highlight{{
JSON.stringify(val, [indent])
}}

|~引数|~型|~説明|h
|val|any|シリアライズ対象の値|
|indent|Number|インデント幅(省略または 0 で1行出力)|

戻り値: String

- オブジェクトは {} 、配列は [] に変換される。空のオブジェクトも {} のまま出力される
- 関数はシリアライズ不可。オブジェクト内では項目ごと除外、配列内では null になる(JavaScriptと同仕様)
- 循環参照はエラー
- UTF-8文字列は \uXXXX にエスケープされず素通し
- 入れ子の深さは PKRIPT_MAX_DEPTH、サイズは PKRIPT_MAX_STRING / PKRIPT_MAX_ARRAY に従う

*** JSON.parse(str) [#taed7ded]
*** JSON.parse(str) [#r733bea8]

#pkript(highlight){{
#highlight{{
JSON.parse(str)
}}

- str: String: パース対象のJSON文字列

戻り値: Object / Array / String / Number / Boolean / null

不正なJSONでエラーを投げる。try / catch で捕捉可能。


** 使用法 [#k381c276]
** 使用法 [#q8900bd6]

*** Wikiページに設定をJSONで保存する [#t6050164]
*** Wikiページに設定をJSONで保存する [#z56fdfb9]

#pkript(highlight){{
#highlight{{
let settings = {};
try {
    settings = JSON.parse(wiki.source("Settings"));
} catch (e) {}

settings.count = (settings.count || 0) + 1;
wiki.write("Settings", JSON.stringify(settings, 2));
}}