如何从API中分离有效和无效响应



我正在使用一个名为CarJam的API。我想在输入框中输入有效的车牌后打开一个面板。

目前,当我运行代码时,当我输入一个有效的车牌时,它会起作用,但如果输入一个无效的车牌,它会返回"null",如果我再次输入,它将返回它的含义,这就是错误。但我只需要将空响应与有效响应分开

private const string key = "x";
public string url = "https://test.carjam.co.nz/a/vehicle:abcd?&key=";
public string plate;
InputField outputBox;
public GameObject inputBox;
public string input;
public GameObject Panel;
void Start()
{
outputBox = GameObject.Find("OutputBox").GetComponent<InputField>();
}
public void OpenPanel()
{
if (Panel != null)
{
bool isActive = Panel.activeSelf; 
Panel.SetActive(!isActive);
}
}
public void GetData() => StartCoroutine(GetData_Coroutine());
public void GetInput()
{
input = inputBox.GetComponent<Text>().text;
plate = input;
}
IEnumerator GetData_Coroutine()
{
outputBox.text = "Loading...";
GetInput();
string uri = (url + key + "&plate=" + plate);
using(UnityWebRequest request = UnityWebRequest.Get(uri))
{
yield return request.SendWebRequest();
if (request.isNetworkError|| request.isHttpError)
{   
outputBox.text = request.error;
plate = string.Empty;
GetInput();
}
else
{   
outputBox.text = request.downloadHandler.text;
Open
plate = string.Empty;
GetInput();
}            
}
}   

您可以将json-repoce解析为c#对象,然后根据需要进行条件检查。Unity提供默认的json解析器,请参阅此处。

最新更新