首先定义共通文件,根据url连接Java后台

class ConntectUtil
{
public JObject ConsoleApplication(string appID, CustomDataType.HttpMethod method, string strJson)
{
String strResponse = "";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url + appID));
//POST或PUT
switch (method)
{
case Method.POST:
//设置参数
var jsonParse = JObject.Parse(strJson);
String jsonParam = "strJson=" + jsonParse.ToString();
byte[] buff = System.Text.Encoding.UTF8.GetBytes(jsonParam);
//设置请求信息
request.Method = CustomDataType.HttpMethod.POST.ToString();
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.ContentLength = buff.Length;
Stream stream = request.GetRequestStream();
stream.Write(buff, 0, buff.Length);
stream.Dispose();
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
strResponse = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
stream.Close();
response.Close();
break;
case Method.GET:
WebResponse myResponse = request.GetResponse();
StreamReader myReader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
strResponse = myReader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
myReader.Close();
myResponse.Close();
break;
}
return (JObject)JsonConvert.DeserializeObject(strResponse);
}
}

带参数的请求后台获取数据。

ConntectUtil conntectUtil = new ConntectUtil();

//设置参数
Temp temp = new Temp();
temp.Id = 1;
//格式化成JSON格式
String strJson = JsonConvert.SerializeObject(temp);
//获取返回数据
JObject retJson = commonUtil.ConsoleApplication(ConfigurationManager.AppSettings["url"], CustomDataType.HttpMethod.POST, strJson);
//(第二种写法)JObject retJson = commonUtil.ConsoleApplication(url, POST, strJson);

在请求后台功能中,常常需要对返回的数据进行处理后赋值,本文将讲解两种赋值方法:

首先,获取返回的JSON数据

//获取数据
string jsonData = JsonConvert.SerializeObject(retJson.GetValue("data"));

1.直接给DataGridView绑定数据

//禁止根据返回数据自动生成列
this.DataGridView.AutoGenerateColumns = false;
//绑定数据源
this.DataGridView.DataSource = retJson.GetValue("data");

2.转成list后做遍历处理

//转化为list
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<Temp1> objs = Serializer.Deserialize<List<Temp1>>(jsonData);

c#连接Java后台,处理返回的数据的更多相关文章

  1. fastJson java后台转换json格式数据

    什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  2. fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map

    作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...

  3. nodejs之使用express框架连接mysql数据库,返回jsonapi数据

    var express = require('express');var router = express.Router();var url = require('url');var mysql = ...

  4. 前端迭代取出 后台map返回的数据

    <body> <div th:each="map : ${response}"> <span th:text="${map.key}&quo ...

  5. java 解析http返回xml数据

    //post 请求 private static String sendPost(String url, String urlParameters) throws Exception { URL ob ...

  6. java后台读取excel模板数据

    /** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...

  7. jsonp的后台怎么返回去数据

  8. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

  9. java后台訪问url连接——HttpClients

    java后台訪问url,并传递数据--通过httpclient方式 须要的包,包可能多几个额外的,假设无用或者冲突删除就可以.httpclient是使用的是4.4.1的版本号:http://downl ...

随机推荐

  1. Mybatis传递多个参数进行SQL查询的用法

    当只向xxxMapper.xml文件中传递一个参数时,可以简单的用“_parameter”来接收xxxMapper.java传递进来的参数,并代入查询. 但是,如果在xxxMapper.java文件中 ...

  2. maven项目无法导入Oracle的jdbc连接jar包【我】

    导入一个maven项目,启动一直报错 找不到Oracle的jdbc连接驱动Class, 用Eclipse导入 ojdbc14.jar 连接包,各种方法都无效,无法引入到部署后的lib目录中,可以直接放 ...

  3. Jmeter使用实践-接口diff测试

    Jmeter使用实践-接口diff测试 大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmete ...

  4. ES安装的相关

    es安装https://www.cnblogs.com/jingping/p/9448099.htmlhttps://blog.csdn.net/zhanyu1/article/details/880 ...

  5. Linux系统管理_主题01 :初识Linux_1.5 与Linux进行交互_echo_nano_Tab_whoami

    [root@izkfv3zmvcl0omz ~]# 其中,'root'为登录用户名,'izkfv3zmvcl0omz'为登录主机名,’~’ 表示当前用户正处在 root 用户的 家目录中,’#’则表示 ...

  6. ECLIPSE 安卓项目 迁移 android stiod

    JNI 处理 http://www.cnblogs.com/flyme/p/4431762.html 导入ECLIPSE项目 http://blog.csdn.net/molei1991/articl ...

  7. Linux显存占用无进程清理方法(附批量清理命令)

    在跑TensorFlow.pytorch之类的需要CUDA的程序时,强行Kill掉进程后发现显存仍然占用,这时候可以使用如下命令查看到top或者ps中看不到的进程,之后再kill掉: fuser -v ...

  8. PTA --- L1-002 打印沙漏

    题目地址 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对 ...

  9. EasyTouch5插件使用 EasyTouch手势检测功能

    (1)导入EasyTouch5插件,注意该插件对Unity有版本要求 (2)首先在场景中创建一个EasyTouch,这个是必需的,它是进行检测的核心组件,场景中有任何物体使用了EasyTouch的东西 ...

  10. linux 中的命令是什么?执行命令的几种方式?如何自己创建命令?

    linux 中的命令是什么? 命令是可执行的二进制程序 执行命令的几种方式? ./test.sh                     #相对路径执行 /data/test.sh           ...