C#利用Httphandler类接收HttpPost请求解析JSON类型数据

C#利用Httphandler类接收Http Post请求解析Rest JSON 类型数据

一.定义JSON数据 对象类

1. 根据Http Post请求传入的Json 数据格式,定义出对应的对象类。 比如,接收请求的json 数据如下:

   {
		 "mvReelInfo": {
				"_PLANT_CODE":"KS4",
				 "_LINE_NAME":"4SMTX",
				"_LINE_SIDE":"C",
				 "_MC_NO":"A",
				 "_TABLE_NO":"1",
				"_STOCK_NO":"0001",
				 "_SUB_SLOT":"1",
				"_M_SETUP_FILE":"SETUP2",
				 "_REPLENISH_MODE":"0",
				"_SCAN_MODE":"0",
				 "_REEL_ID":"RTEST12F6130200",
				 "_V_REEL_ID":"",
				 "_RAW_PN":"",
				 "_QTY":"",
				 "_DATE_CODE":"",
				 "_LOT_CODE":"",
				 "_VENDOR_CODE":"",
				"_SPEC":"",
				 "_USER":"C120M3K"
		 }
}

要求返回的JSON 数据格式,如下:

{
	 "_Anything":"",
	 "_Message":"OK",
	 "_MsgCode":"0",
	"_Status":true,
	 "mvReelInfo":{
	 "_REEL_ID":"RTEST12F6130200",
	 "_V_REEL_ID":"RTEST12F6130200",
	 "_RAW_PN":"PSE00000G880",
	 "_MES_RAW_PN":"PSE00000G880_MES",
	 "_QTY":"10000",
	"_PARENT_REEL":" RTEST12F6130200_P",
	 "_DATE_CODE":"D1550",
	 "_LOT_CODE":"L150F052594",
	 "_SPEC":"SAA",
	 "_VENDOR_CODE":"VTEST1"
	 }
}

根据上述的Request请求和Response返回的JSON 数据格式要求,定义对象类如下:

1.针对Request请求的JSON数据格式,定义ReelInfo 对象类, ReelInfo类中定义一个类成员变量,变量名称要与JSON数据格式中的mvReelInfo一样,并设置它的get,set 方法

using System.Web.Script.Serialization;
using System;
namespace WebApplication3.Entities.xxxx
{
    public class ReelRequest
    {
        public ReelInfo mvReelInfo { get; set; }
    }
}

2.针对Response请求的JSON数据格式,定义ReelResponse对象类, ReelResponse类中定义的变量要与Response JSON数据格式的KEY 名称一样,并设置get,set 方法

namespace WebApplication3.Entities.xxxx
{
    public class ReelResponse
    {
        public string _Anything { get; set; }
        public string _Message { get; set; }
        public string _MsgCode { get; set; }
        public Boolean _Status { get; set; }
        public PackageInfo mvReelInfo { get; set; }
    }
}

namespace WebApplication3.Entities.xxxx
{
    public class PackageInfo
    {
        public string _REEL_ID { get; set; }
        public string _V_REEL_ID { get; set; }
        public string _RAW_PN { get; set; }
        public string _MES_RAW_PN { get; set; }
        public string _QTY { get; set; }
        public string _PARENT_REEL { get; set; }
        public string _DATE_CODE { get; set; }
        public string _LOT_CODE { get; set; }
        public string _SPEC { get
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android Studio 中接收 HTTP 请求可以通过以下步骤实现: 1. 首先,在你的 Android 项目中添加网络权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 2. 然后,创建一个 HTTP 服务器,并在其中设置请求处理程序。你可以使用 Android 原生的 HttpServer 类,也可以使用第三方库(如 NanoHTTPD)来创建服务器。 3. 在请求处理程序中,你可以根据请求的 URL、参数、header 等内容来处理请求,并返回相应的响应。 以下是一个示例代码,用于创建一个简单的 HTTP 服务器并处理 GET 请求: ```java import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; public class MyHttpServer { public static void main(String[] args) throws Exception { HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0); server.createContext("/", new MyHandler()); server.setExecutor(null); server.start(); } static class MyHandler implements HttpHandler { @Override public void handle(HttpExchange t) throws IOException { String response = "Hello, world!"; t.sendResponseHeaders(200, response.length()); OutputStream os = t.getResponseBody(); os.write(response.getBytes()); os.close(); } } } ``` 在上面的示例中,我们创建了一个监听 8000 端口的 HTTP 服务器,并将根路径("/")的请求交给了 MyHandler 类来处理。在 MyHandler 中,我们简单地返回了一个字符串 "Hello, world!"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值