LlList2Json/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: string llList2Json( string type, list values );

JSON形式の文字列をリストに変換するには、llJson2Listを使用します。
リストvaluesをJSON typeとしてシリアル化した文字列、またはエラーが発生した場合はJSON_INVALID。を string で返します。

• string type
• list values

仕様

Json_usage_in_LSLを参照

  • タイプが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_STRINGJSON_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

特記事項

経緯

Date of Release 20/05/2013

Search JIRA for related Issues

Signature

function string llList2Json( string type, list values );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。