Unity Android側解析Jsonファイル


Jsonファイルフォーマット:
[
	{
   	 "triggerGameObject": "Cube",
     "gameObjectNum": "1",
	  "isRight":="True"
	},
	{
  	  "triggerGameObject": "Sphere",
 	   "gameObjectNum": "2",
	  "isRight":="false"
	}
]


Jsonファイルの名前を:Data.json,(注意*保存時フォーマット選択ANSI)は,UnityエンジニアリングのStreamingAssetsフォルダにファイルを格納する.Jsonファイルに格納されているデータは、次のコードで解析できます.エディタモードとパブリッシュアンドロイドで使用できます.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System;

public class ReadJsonDataManager : MonoBehaviour {


    public static ReadJsonDataManager _inStance;

    private const string scene1JsonPathName = "Data.json";
    private DataJson dataJson;
    private void Awake()
    {
        _inStance = this;     
    }

    // Use this for initialization
    void Start () {
          ReadJsonData();
    }
    public static string getTextForStreamingAssets(string path)
    {
        string localPath = "";
        if ( Application.platform == RuntimePlatform.Android )
        {
            localPath = Application.streamingAssetsPath + "/"  + path;
        }
        else
        {
            localPath = "file:///" + Application.streamingAssetsPath + "/"+ path;
        }          
        WWW t_WWW = new WWW(localPath);     //     "ANSI",   "UTF-8"

        if ( t_WWW.error != null )
        {
            Debug.LogError("error : " + localPath);
            return "";          //      
        }

        while ( !t_WWW.isDone )
        {

        }
        Debug.Log("t_WWW.text=  " + t_WWW.text);
      
        return t_WWW.text;
    }

    public void ReadJsonData() {
        string text = getTextForStreamingAssets(scene1JsonPathName);
        dataJson = null;
        JsonData jsonData = JsonMapper.ToObject(text);
        if ( jsonData != null )
        {
            Debug.Log("JsonData  "+ jsonData.Count);
            for ( int i = 0; i < jsonData.Count; i++ )
            {
                string triggerGameObjectName = jsonData[i]["triggerGameObject"].ToString();//  Json triggerGameObject 
                int gameObjectNum=Convert.ToInt32( jsonData[i]["gameObjectNum"].ToString());//  Json gameObjectNum   
                bool isRight = Convert.ToBoolean(jsonData[i]["isRight"].ToString());//  Json isRight      
        }
        else {
            Debug.Log("jsonData  ");
        } 
    }
}