如何在 Unity 中读取 JSON 响应?

How to read a JSON response in Unity?

我是 Unity 的新手,我一直在尝试使用 C# 阅读我的 RESTful API 的 JSON 响应。这是我对 LitJson 的尝试:

JsonData jsonvale = JsonMapper.ToObject(www.text);

string parsejson;
parsejson = jsonvale["myapiresult"].ToString();

我的 JSON 回复是 {"myapiresult":"successfull"}

无论出于何种原因,它目前无法正常工作。我不知道如何解决它。

我还找到了 JSON.NET 的付费插件,但我不确定它是否能解决我的问题。

您无需购买任何付费插件即可在此处使用 JSON.NET。您可以创建一个 class 来模拟响应或反序列化为动态对象。

前者的例子:

using Newtonsoft.Json;
// ...
class Response
{
    [JsonProperty(PropertyName = "myapiresult")]
    public string ApiResult { get; set; }
}

void Main()
{
    string responseJson = "{\"myapiresult\":\"successfull\"}";
    Response response = JsonConvert.DeserializeObject<Response>(responseJson);
    Console.WriteLine(response.ApiResult);
    // Output: successfull
}

...以及后者:

using Newtonsoft.Json;
// ...
void Main()
{
    string responseJson = "{\"myapiresult\":\"successfull\"}";
    dynamic response = JsonConvert.DeserializeObject(responseJson);
    Console.WriteLine(response.myapiresult.ToString());
    // Output: successfull
}