Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

JsonUtility.ToJson

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function ToJson(obj: object): string;
public static string ToJson(object obj);
public static function ToJson(obj: object, prettyPrint: bool): string;
public static string ToJson(object obj, bool prettyPrint);

パラメーター

obj JSON 形式に変換するオブジェクト
prettyPrint True の場合、読みやすくするために出力を設定します。 False の場合、最小サイズになるよう出力を設定します。既定値は False です。

戻り値

string JSON 形式のオブジェクトのデータ

説明

オブジェクトのパブリックフィールドの JSON 表現を生成します。

内部的には、このメソッドは Unity のシリアライザーを使用します。したがって、渡すオブジェクトをシリアライザーでサポートする必要があり、 MonoBehaviour、ScriptableObject や Serializable 属性が適用されるプレーンなクラスか構造体である必要があります。含めようとするフィールドのタイプはシリアライザーによってサポートされなければなりません。private フィールド、static フィールドや NonSerialized 属性を適用されるフィールドのようなサポートされていないフィールドは無視されます。

プレーンなクラスや構造体は、MonoBehaviour や ScriptableObject から派生したクラスと同様にサポートされます。他のタイプはサポートされません。(エディターでのみ、他の型を JSON にシリアライズするために EditorJsonUtility.ToJson を使用できます。)

メソッドにプリミティブ型を渡すことは可能ですが、結果に期待できない場合があることに注意してください。プリミティブ型を直接シリアライズする代わりに、メソッドはそれらの public のインスタンスフィールドをシリアライズしようとし、結果として空のオブジェクトが生成されます。同様に、このメソッドに配列を渡しても JSON 配列を生成しません。ですが、オブジェクト public フィールドの配列を持たせることで配列のシリアライズができます。つまり、配列やプリミティブ型の実際の内容をシリアライズするにはクラスや構造体でラップする必要があります。

このメソッドはバックグラウンドスレッドから呼び出すことができます。実行中の間、この関数に渡すオブジェクトは変更しないでください。


        
using UnityEngine;

public class PlayerState : MonoBehaviour { public string playerName; public int lives; public float health;

public string SaveToString() { return JsonUtility.ToJson(this); }

// Given: // playerName = "Dr Charles" // lives = 3 // health = 0.8f // SaveToString returns: // {"playerName":"Dr Charles","lives":3,"health":0.8} }