解析json,get,post方法

    public string json = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    { 
        string url ="https://www.xxxx.com/admin/client/get_xxx_token";
        string PostData = "client_id=xxx&client_secret=xxx";
        this.txt_token.Text = RequestData(url, PostData);
        JObject jo = (JObject)JsonConvert.DeserializeObject(this.txt_token.Text);
        string access_token = jo["access_token"].ToString();
        this.txt_access.Text = access_token;
        string getUrl = "https://www.xxx.com/apis/hr/pa/people/list?";
        string getData = "access_token=" + access_token + "&start=0&pagesize=100000000";
        getUrl = getUrl + getData;
        string strData = GetData(getUrl);
        json = ConvertJsonString(strData);

        JObject jo1 = (JObject)JsonConvert.DeserializeObject(json);
        string t = "";
        JArray jlist = JArray.Parse(jo1["data"].ToString()); 
       //string accessToken = jo1["data"]["accessToken"].ToString(); 
       没[]直接用这个输出
        for (int i = 0; i <jlist.Count; i++)
        {

            JObject tempo = JObject.Parse(jlist[i].ToString());
            string people_no = tempo["people_no"].ToString();
            string name = tempo["firstname"].ToString() + tempo["lastname"].ToString();
            if (tempo.Property("ou_name") != null)
            {
            string ou_name = tempo["ou_name"].ToString();
            }

 
        
        }


        this.txt_count.Text = jlist.Count.ToString();  
     
    }
 

    /// <summary>
    /// 提交数据请求 post
    /// </summary>
    /// <param name="POSTURL">请求提交的地址 如:http://xxx.xxx.xxx/interface/TestPostRequest</param>
    /// <param name="PostData">提交的数据(字符串)</param>
    /// <returns></returns>
    public static string RequestData(string POSTURL, string PostData)
    {
        //发送请求的数据
        WebRequest myHttpWebRequest = WebRequest.Create(POSTURL);
        myHttpWebRequest.Method = "POST";
        UTF8Encoding encoding = new UTF8Encoding();
        byte[] byte1 = encoding.GetBytes(PostData);
        myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
        myHttpWebRequest.ContentLength = byte1.Length;
        Stream newStream = myHttpWebRequest.GetRequestStream();
        newStream.Write(byte1, 0, byte1.Length);
        newStream.Close();


        //发送成功后接收返回的XML信息
        HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.GetResponse();
        string lcHtml = string.Empty;
        Encoding enc = Encoding.GetEncoding("UTF-8");
        Stream stream = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(stream, enc);
        lcHtml = streamReader.ReadToEnd();
        return lcHtml;
       
    }

    /// <summary>  
    /// GET请求与获取结果  
    /// </summary>  
    private string GetData(string getUrl)
    {
        WebRequest webReq = WebRequest.Create(getUrl);
        WebResponse webResp = webReq.GetResponse();
        Stream stream = webResp.GetResponseStream();
        StreamReader sr = new StreamReader(stream, Encoding.UTF8);
        string html = sr.ReadToEnd();
        sr.Close();
        stream.Close();
        return html;
    }


    /// <summary>  
    /// 格式化json字符串 
    /// </summary>  
    private string ConvertJsonString(string str)
    {
        //格式化json字符串
        JsonSerializer serializer = new JsonSerializer();
        TextReader tr = new StringReader(str);
        JsonTextReader jtr = new JsonTextReader(tr);
        object obj = serializer.Deserialize(jtr);
        if (obj != null)
        {
            StringWriter textWriter = new StringWriter();
            JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
            {
                Formatting = Formatting.Indented,
                Indentation = 4,
                IndentChar = ' '
            };
            serializer.Serialize(jsonWriter, obj);
            return textWriter.ToString();
        }
        else
        {
            return str;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值