Unity Android側解析Jsonファイル
Jsonファイルフォーマット:
Jsonファイルの名前を:Data.json,(注意*保存時フォーマット選択ANSI)は,UnityエンジニアリングのStreamingAssetsフォルダにファイルを格納する.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 ");
}
}
}