我们如何在Unity3d中解析JSON?

Bri*_*ian 1 json json.net unity-game-engine

当我尝试使用 JsonUtility 从返回元素数组的 REST 调用中解析 JSON 时,它未能说明顶层必须是对象。来吧伙计们。这是荒谬的。

好的,继续了解如何使用 Newtonsoft.json,因为它在其他地方都运行良好。

尝试使用资产商店中的 JSON .NET for Unity。看起来它工作得很好并且在编辑器中工作,但是当我尝试在我的开发 macbook pro 上的 Mac 本地构建中使用它时,它不起作用(调用它失败,但有例外)。因此,如果它在我的开发机器和 mac 版本上不起作用,那么就不行。https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347

尝试使用 jilleJr 的版本: https: //github.com/jilleJr/Newtonsoft.Json-for-Unity但安装说明导致包管理器无法打开。按照说明将包直接添加到我的 manifest.json 中时,出现空引用异常

那么现在让 JSON 在 Unity 2019/2020 中工作的秘诀是什么?对于一个平台来说,这似乎是一个巨大的问题。

Igg*_*ggy 5

打开*YourUnityProject*/Packages/manifest.json并将以下行添加到依赖项对象。

"com.unity.nuget.newtonsoft-json": "2.0.0",
Run Code Online (Sandbox Code Playgroud)

要序列化和反序列化数据,请使用以下函数:

using Newtonsoft.Json;

public class Data
{
    int[] numbers;
}

string json = JsonConvert.SerializeObject(new Data());
Data data = JsonConvert.DeserializeObject<Data>(json);
Run Code Online (Sandbox Code Playgroud)