最近在接入百度AI文本纠错API,要求使用JSON格式的结构体来描述一个请求的具体内容。接入请求说明如下:
- 代码如下:
private class Body
{
public string text = "";
}
IEnumerator ErrorCorrection()
{
string apiKey = "自己的apiKey";
string appSecret = "自己的appSecret";
WWW www = new WWW("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apiKey + "&client_secret=" + appSecret);
yield return www;
if (www.isDone)
{
if (www.error == null)
{
JsonData res = JsonMapper.ToObject(www.text);
if (res["access_token"] != null)
{
access_token = res["access_token"].ToString();
Debug.Log(access_token);
//请求参数body
Body body = new Body();
body.text = "百度是一家人工只能公司";
string requestdata = JsonMapper.ToJson(body);
//不能这样:
//string requestdata = "text=百度是一家人工只能公司";
byte[] postBytes = Encoding.UTF8.GetBytes(requestdata);
//header
Dictionary<string, string> header = new Dictionary<string, string>();
header.Add("Content-Type", "application/json");
www = new WWW("https://aip.baidubce.com/rpc/2.0/nlp/v1/ecnet?charset=UTF-8&access_token=" + access_token, postBytes, header);
yield return www;
if (www.isDone)
{
if (www.error == null)
{
Debug.Log(www.text);
}
}
else
{
Debug.Log(www.error);
}
}
}
else
{
Debug.Log(www.error);
}
}
}
- 请求结果如下:
{
"log_id":4559397244907480534,
"item":{
"vec_fragment":[
{
"ori_frag":"只能",
"begin_pos":21,
"correct_frag":"智能",
"end_pos":27
}],
"score":0.961834,
"correct_query":"百度是一家人工智能公司"
},
"text":"百度是一家人工只能公司"
}