Difference between revisions of "LlList2Json/ja"
Jump to navigation
Jump to search
(copy from english(Todo: need translate to japanese)) |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{LSL Function | {{LSL Function/ja | ||
|func_id=|func_sleep=0.0|func_energy | |func_id=|func_sleep=0.0|func_energy | ||
|func=llList2Json|return_type=string | |func=llList2Json|return_type=string | ||
Line 5: | Line 5: | ||
|p2_type=list|p2_name=values|p2_desc= | |p2_type=list|p2_name=values|p2_desc= | ||
|func_footnote= | |func_footnote= | ||
|func_desc=JSON形式の文字列をリストに変換するには、[[llJson2List]]を使用します。 | |||
|return_text=リスト{{LSLPT|values}}をJSON {{LSLPT|type}}としてシリアル化した文字列、またはエラーが発生した場合は[[JSON_INVALID]]。 | |||
|return_text= | |spec=[[Json_usage_in_LSL]]を参照 | ||
|spec= | * タイプが[[JSON_OBJECT]]の場合、リストはキーと値のペアのストライドリストでなければならず、JSONオブジェクトを表す文字列が返されます。 | ||
* | * タイプが[[JSON_ARRAY]]の場合、JSON配列を表す文字列が返されます。 | ||
* | * タイプがそれ以外の場合、[[JSON_INVALID]]が返されます。 | ||
* | * 入力リストからのJsonタイプは、LSLデータ型から推測されます | ||
* | ** [[integer]]および[[float]]のタイプは、[[JSON_NUMBER]]としてエンコードされます。 | ||
** [[integer]] | ** "true"および"false"はそれぞれ[[JSON_TRUE]]および[[JSON_FALSE]]としてエンコードされます。 | ||
** "true" | ** "null"は[[JSON_NULL]]としてエンコードされます。 | ||
** "null" | ** 入力の中で正しくフォーマットされたJSON文字列はそのまま保持されます([[JSON_STRING]]、[[JSON_OBJECT]]、または[[JSON_ARRAY]]のいずれかになります) | ||
** | ** その他のすべての文字列は[[JSON_STRING]]としてエンコードされます。文字列は[[llStringTrim]]を通したかのように先頭と末尾の空白が削除されます。 | ||
** | ** 特に、JSONの数値を含む有効なJSON文字列を含む文字列は、JSONの数値のままにされずにJSON文字列に変換されます({{Jira|BUG-6284}})。これは[[llJsonSetValue]]がJSONの数値を含む文字列をそのままにする処理と異なります。 | ||
** | |constants={{LSL Constants/JSON/ja|subset=*}} | ||
|constants={{LSL Constants/JSON|subset=*}} | |||
|examples= | |examples= | ||
<source lang="lsl2"> | <source lang="lsl2"> | ||
Line 31: | Line 30: | ||
// A Json-Array can store multiple of those as a nested list within the same Json-string via JSON_APPEND. | // A Json-Array can store multiple of those as a nested list within the same Json-string via JSON_APPEND. | ||
</source> | </source> | ||
* | * 異なるパーティクルエフェクトを設定する複数のリストを同じ文字列に保存できます。LlList2Json()を使用して文字列を書き込み、llJson2List()を使用してそれからパーティクルシステムを定義するリストを読み取ります。浮動小数点の精度が損なわれること(JsonはFLOATからSTRINGへの悪い変換を行う)は、パーティクルエフェクトに対してはあまり問題ありません。 | ||
* | * 異なる状況(異なるアニメーションキーフレームなど)に対して異なるllSetPrimitiveParamsFast()の値を設定する複数のリストを、同じJson文字列に保存できます。 | ||
|helpers | |helpers | ||
Line 47: | Line 46: | ||
|also_articles={{LSL DefineRow||[[Typecast]]|}} | |also_articles={{LSL DefineRow||[[Typecast]]|}} | ||
|notes= | |notes= | ||
|caveats=* | |caveats=* 文字列の '''values''' アイテムはLSLの文字列ではなく、JSONとして解釈されます。必要な場合は引用符を明示的に追加する必要があります。例えば、<code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["bacon", "true", "false", "null"]))</code> はLSLリスト <code>["bacon", [[JSON_TRUE]], [[JSON_FALSE]], [[JSON_NULL]]]</code> を返しますが、<code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["\"bacon\"", "\"true\"", "\"false\"", "\"null\""]))</code> はLSLリスト <code>["bacon", "true", "false", "null"]</code> を返します。 | ||
|permission | |permission | ||
|negative_index | |negative_index |
Latest revision as of 13:15, 22 November 2023
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: string llList2Json( string type, list values );
JSON形式の文字列をリストに変換するには、llJson2Listを使用します。
リストvaluesをJSON typeとしてシリアル化した文字列、またはエラーが発生した場合はJSON_INVALID。を string で返します。
• string | type | |||
• list | values |
仕様
- タイプがJSON_OBJECTの場合、リストはキーと値のペアのストライドリストでなければならず、JSONオブジェクトを表す文字列が返されます。
- タイプがJSON_ARRAYの場合、JSON配列を表す文字列が返されます。
- タイプがそれ以外の場合、JSON_INVALIDが返されます。
- 入力リストからのJsonタイプは、LSLデータ型から推測されます
- integerおよびfloatのタイプは、JSON_NUMBERとしてエンコードされます。
- "true"および"false"はそれぞれJSON_TRUEおよびJSON_FALSEとしてエンコードされます。
- "null"はJSON_NULLとしてエンコードされます。
- 入力の中で正しくフォーマットされたJSON文字列はそのまま保持されます(JSON_STRING、JSON_OBJECT、またはJSON_ARRAYのいずれかになります)
- その他のすべての文字列はJSON_STRINGとしてエンコードされます。文字列はllStringTrimを通したかのように先頭と末尾の空白が削除されます。
- 特に、JSONの数値を含む有効なJSON文字列を含む文字列は、JSONの数値のままにされずにJSON文字列に変換されます(BUG-6284)。これはllJsonSetValueがJSONの数値を含む文字列をそのままにする処理と異なります。
タイプフラグ | 値 | Unicode | 整数 | URL エンコード | HTML エンコード | 説明 |
---|---|---|---|---|---|---|
JSON_INVALID | | U+FDDO | 64976 | "%EF%B7%90" |  | 入力が正しくない場合に返される値。 |
JSON_OBJECT | | U+FDD1 | 64977 | "%EF%B7%91" |  | |
JSON_ARRAY | | U+FDD2 | 64978 | "%EF%B7%92" |  |
警告
- 文字列の values アイテムはLSLの文字列ではなく、JSONとして解釈されます。必要な場合は引用符を明示的に追加する必要があります。例えば、
llJson2List(llList2Json(JSON_ARRAY, ["bacon", "true", "false", "null"]))
はLSLリスト["bacon", JSON_TRUE, JSON_FALSE, JSON_NULL]
を返しますが、llJson2List(llList2Json(JSON_ARRAY, ["\"bacon\"", "\"true\"", "\"false\"", "\"null\""]))
はLSLリスト["bacon", "true", "false", "null"]
を返します。
サンプル
string CSV2Json(string csv)
{
list li = llCSV2List(csv);
return llList2Json(JSON_ARRAY, li);
}
// This function converts a comma separated values string to a Json array string.
// CSV strings are often used for link-messages, notecards and they are easier to type as input commands.
// A Json-Array can store multiple of those as a nested list within the same Json-string via JSON_APPEND.
- 異なるパーティクルエフェクトを設定する複数のリストを同じ文字列に保存できます。LlList2Json()を使用して文字列を書き込み、llJson2List()を使用してそれからパーティクルシステムを定義するリストを読み取ります。浮動小数点の精度が損なわれること(JsonはFLOATからSTRINGへの悪い変換を行う)は、パーティクルエフェクトに対してはあまり問題ありません。
- 異なる状況(異なるアニメーションキーフレームなど)に対して異なるllSetPrimitiveParamsFast()の値を設定する複数のリストを、同じJson文字列に保存できます。
関連項目
定数
• | JSON_ARRAY | |||
• | JSON_OBJECT | |||
• | JSON_INVALID |
関数
• | llJson2List | |||
• | llJsonGetValue | |||
• | llJsonSetValue | |||
• | llJsonValueType |
記事
• | Typecast |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。