C# 通过C从Unity中的API URL解析JSON#
我试图解析JSON数组中的一些数据,以便在我的项目中使用它。这些值用于绘制可视化轨道的函数,除此之外,我已经完成了项目的所有工作。为了解析JSON,我尝试使用LitJSon,但运气不好。如果有人能提供一些关于我应该如何做到这一点的见解,我将不胜感激 以下是我的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”, “
[
{
“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添加尝试。请把它包括在你的问题中。