Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过C从Unity中的API URL解析JSON#_C#_Json_Unity3d_Parsing_Litjson - Fatal编程技术网

C# 通过C从Unity中的API URL解析JSON#

C# 通过C从Unity中的API URL解析JSON#,c#,json,unity3d,parsing,litjson,C#,Json,Unity3d,Parsing,Litjson,我试图解析JSON数组中的一些数据,以便在我的项目中使用它。这些值用于绘制可视化轨道的函数,除此之外,我已经完成了项目的所有工作。为了解析JSON,我尝试使用LitJSon,但运气不好。如果有人能提供一些关于我应该如何做到这一点的见解,我将不胜感激 以下是我的JSON格式: 网址: [ { “SatNum”:“47757”, “时代”:“21076.58335648”, “MMotDeriv”:“-.01183622”, “倾斜度”:“53.0445”, “RAAN”:“118.1488”, “

我试图解析JSON数组中的一些数据,以便在我的项目中使用它。这些值用于绘制可视化轨道的函数,除此之外,我已经完成了项目的所有工作。为了解析JSON,我尝试使用LitJSon,但运气不好。如果有人能提供一些关于我应该如何做到这一点的见解,我将不胜感激

以下是我的JSON格式:

网址:

[
{
“SatNum”:“47757”,
“时代”:“21076.58335648”,
“MMotDeriv”:“-.01183622”,
“倾斜度”:“53.0445”,
“RAAN”:“118.1488”,
“偏心率”:“0001096”,
“近地点”:“64.2393”,
“MAnomaly”:“229.2271”,
“MMotion”:“15.76357572”
}, {
“SatNum”:“47758”,
“时代”:“21076.83334491”,
“MMotDeriv”:“-.01182939”,
“倾斜度”:“53.0463”,
“RAAN”:“116.9104”,
“偏心率”:“0001165”,
“近地点”:“60.1537”,
“庄园”:“211.8085”,
“MMotion”:“15.75727878”
}
]

要从服务器获取数据,请使用新的
UnityWebRequest
类。例如:

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehaviour : MonoBehaviour
{
    public string json;
    void Start()
    {
        StartCoroutine(GetText());
    }

    IEnumerator GetText()
    {
        using (UnityWebRequest www = UnityWebRequest.Get("http://www.my-server.com"))
        {
            yield return www.Send();

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                // Show results as text
                json = www.downloadHandler.text;

                // Or retrieve results as binary data
                byte[] results = www.downloadHandler.data;
            }
        }
    }
}
然后,您可以使用
JsonUtility
将其转换为c#class。您必须使用变量创建一个对象类,并使用json数据作为构造函数

例如:

using UnityEngine;

[System.Serializable]
public class PlayerInfo
{
    public string name;
    public int lives;
    public float health;

    public static PlayerInfo CreateFromJSON(string jsonString)
    {
        return JsonUtility.FromJson<PlayerInfo>(jsonString);
    }

    // Given JSON input:
    // {"name":"Dr Charles","lives":3,"health":0.8}
    // this example will return a PlayerInfo object with
    // name == "Dr Charles", lives == 3, and health == 0.8f.
}
使用UnityEngine;
[系统可序列化]
公共类播放器信息
{
公共字符串名称;
公共生活;
公共卫生;
公共静态播放器信息CreateFromJSON(字符串jsonString)
{
返回JsonUtility.FromJson(jsonString);
}
//给定JSON输入:
//{“姓名”:“查尔斯博士”,“生命”:3,“健康”:0.8}
//此示例将返回一个PlayerInfo对象,其中包含
//姓名==“查尔斯博士”,寿命==3,健康==0.8f。
}

您忽略了使用LitJSON添加尝试。请把它包括在你的问题中。