如何从Unity StreamingAssets,Android中读取json

时间:2018-01-15 12:01:48

标签: c# android json unity3d

如何从StreamingAssets为Android应用程序读取json?

对于iOS,我使用此代码阅读

public void ReadJson(){
        string path = "/Raw/elements.json";
        #if UNITY_EDITOR
        path = "/StreamingAssets/elements.json";
        #endif
        string json = File.ReadAllText(Application.dataPath + path);
        itemsContent = JsonUtility.FromJson<Main> (json); 
        bundleForPing = itemsContent.bundleID;
    }

但如何读取Android ...请帮助

1 个答案:

答案 0 :(得分:1)

基于此Manual

  

在Android上,文件包含在压缩的.jar文件中(其格式与标准的zip压缩文件基本相同)。这意味着如果您不使用Unity的WWW类来检索文件,则需要使用其他软件查看.jar​​存档内部并获取该文件。

public void ReadJson(){
        string path = Application.streamingAssetsPath + "/elements.json";
        #if UNITY_EDITOR
        path = "/StreamingAssets/elements.json";
        #endif
        WWW www = new WWW(path);
        while(!www.isDone) {}
        string json = www.text;
        itemsContent = JsonUtility.FromJson<Main> (json); 
        bundleForPing = itemsContent.bundleID;
    }