最近有大量的API要接入,而且大部分都不会有代码示例,只有json格式的请求体,如下:

那么我们自己发送请求时,json数据一般需要自己通过代码动态实现,比如请求下面这个题库校对API,请求代码如下:

  private class Body
    {
        public List<Data> data;
    }
  
  private class Data
    {
        public string id = "";
        public string item = "";
        public string analytic = "";
        public List<string> answer;
        public string materialContent = "";
        public List<string> option;
        public int subject;
    }
 
  IEnumerator Correct_Item()
    {
        Body body = new Body();

        body.data = new List<Data>();

        Data data = new Data();

        data.id = "100651";

        data.item = "下列不属于墨子思想的是()";

        data.analytic = "“克已复礼”是孔子思想";

        data.materialContent = "null";

        data.answer = new List<string>();
        data.answer.Add("D");
        
        data.option = new List<string>();
        data.option.Add("A");
        data.option.Add("B");
        data.option.Add("C");
        data.option.Add("D");

        data.subject = 1;

        body.data.Add(data);

        string requestdata = JsonMapper.ToJson(body);

        Debug.Log(requestdata);

        byte[] postBytes = Encoding.UTF8.GetBytes(requestdata);

        Dictionary<string, string> header = new Dictionary<string, string>();

        header.Add("Content-Type", "application/json");

        WWW www = new WWW("http://openapiai.xueersi.com/v1/api/nlp/nlp/correct_item?app_key=自己的app_key", postBytes,header);
        yield return www;
        if(www.isDone)
        {
            if(www.error==null)
            {
                Debug.Log(www.text);
            }
        }
    }

json请求体如下:                                                         请求结果如下:

    

除了自己手动写代码,还有一种很简单的方式,能将json数据转成object类型,http://www.bejson.com/convert/json2csharp/,效果如下图所示:

 

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐