金蝶插件调用HTTP请求 并解析JSON

返回数据如下:

{
    "mainTable": {
        "create_time": "2023-01-03",
        "RECORD_DATE": "2023-01-03",
        "id": "6",
        "ASSEMBLY_ITEM": "",
        "ASSEMBLY_SN": "0955D"
    },
    "detail1": [{
            "COMPONENT_NUMBER": "1",
            "COMPONENT_ITEM": "",
            "COMPONENT_TYPE": "III",
            "id": "37",
            "CORE_PARTS_SN": "***312**"
        }, {
            "COMPONENT_NUMBER": "2",
            "COMPONENT_ITEM": "",
            "COMPONENT_TYPE": "主机",
            "id": "38",
            "CORE_PARTS_SN": "*****1250902****"
        }
    ]
}
 

 代码:

//using Kingdee.BOS.Core.Metadata.Util;
//using Kingdee.BOS.JSON;
//using Kingdee.BOS.Util;
using Kingdee.BOS.JSON;
using Kingdee.BOS.WebApi.Client;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;namespace cux.button.test
{public class TestHttp{public   void test(){   String data= "datajson={\"operationinfo\":{\"operator\":\"1\"},\"mainTable\":{\"ASSEMBLY_SN\":\"DIO:00.02.N1.0955DOM:IDB10-C910-CTYP:BJ4259SNFKB-XJ(RPZ)PD:2023-1-3 18:50:37NO.:1/1\"},\"pageInfo\":{\"pageNo\":\"1\",\"pageSize\":\"10\"},\"header\":{\"systemid\":\"wq\",\"currentDateTime\":\"20240726135047\",\"Md5\":\"746AAF020BE2BBF8D44BFEBD31A4069B\"}}";String serviceUrl = String.Format("{0}/{1}", "http://IP地址", "api/cube/restful/interface/getDataByPK/getTraceInfoByAssemblySn");HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(data);myRequest.Method = "POST";myRequest.ContentLength = buf.Length;//myRequest.ContentType="application/json";myRequest.ContentType = "application/x-www-form-urlencoded";myRequest.MaximumAutomaticRedirections = 1;myRequest.AllowAutoRedirect = true;//发送请求Stream stream= myRequest.GetRequestStream();stream.Write(buf, 0, buf.Length);stream.Close();//获取接口返回值//通过WEB访问对象获取响应内容HttpWebResponse myResponse= (HttpWebResponse)myRequest.GetResponse();//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快StreamReader reader=new StreamReader(myResponse.GetResponseStream(),Encoding.UTF8 );String returnXml= reader.ReadToEnd(); //利用StreamReader就可以从响应内容从头读到尾JSONObject jo= JSONObject.Parse( returnXml );String returnJsonContent    = jo["result"].ToString();jo = JSONObject.Parse(returnJsonContent);JSONObject mainTableJson= JSONObject.Parse(jo["mainTable"].ToString());String id= mainTableJson["id"].ToString();String itemNum = mainTableJson["ASSEMBLY_ITEM"].ToString();JSONArray detailJArrays = (JSONArray)jo["detail1"];foreach (JSONObject detail in detailJArrays) { string componentNumber = detail["COMPONENT_NUMBER"].ToString();string comSn = detail["CORE_PARTS_SN"].ToString();  Console.WriteLine("COMPONENT_NUMBER: COMPONENT_NUMBER = {0}, Type = {1}", componentNumber, comSn);}reader.Close();myResponse.Close();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud Nacos的配置与使用

Spring Cloud Nacos的配置与使用 文章目录 Spring Cloud Nacos的配置与使用1. 简单介绍2. 环境搭建3. 服务注册/服务发现4. Nacos 负载均衡4.1 服务下线4.2 权重配置4.3 同集群优先访问 5. Nacos 健康检查5.1 两种健康检查机制5.2 服务实例类型 6.Nacos 环境隔离6.1 创建namesp…

【MySQL进阶之路 | 高级篇】表级锁之S锁,X锁,意向锁

1. 从数据操作的粒度划分:表级锁,页级锁,行锁 为了尽可能提高数据库的并发度,每次锁定的数据范围越小越好,理论上每次只锁定当前操作的数据的方案会得到最大的并发度,但是管理锁是很耗资源的事情&#xff…

windows使用ssh-agent管理私钥

主要有以下几个方面: 开启openssh 的 ssh-agent 服务 打开powershell 输入 Get-Service -Name ssh-agent 查看服务是否起来Start-Service ssh-agent 启动服务Stop-Service ssh-agent 关闭服务将私钥添加到ssh-agent 添加私钥 ssh-add ~/.ssh/id_rsa查询添加哪些私钥 ssh-add -…

驾驭代码的无形疆界:动态内存管理揭秘

目录 1.:为什么要有动态内存分配 2.malloc和free 2.1:malloc 2.2:free 3.calloc和realloc 3.1:calloc 3.1.1:代码1(malloc) 3.1.2:代码2(calloc) 3.2:realloc 3.2.1:原地扩容 3.2.2:异地扩容 3.2.3:代码1(原地扩容) 3.2.3:代码2(异地扩容) 4:常见的动态内存的错误…

【windows Docker desktop】在git bash中报错 docker: command not found 解决办法

【windows Docker desktop】在git bash中报错 docker: command not found 解决办法 1. 首先检查在windows中环境变量是否设置成功2. 检查docker在git bash中环境变量是否配置3. 重新加载终端配置4. 最后在校验一下是否配置成功 1. 首先检查在windows中环境变量是否设置成功 启…

vite + xlsx + xlsx-style 导出 Excel

如下 npm i 依赖 npm i xlsxnpm i xlsx-style-vite1、简单的使用:.vue文件中使用 const dataSource ref([]) // 数据源const columns [{title: 用户名,key: userName,width: 120,},{title: 用户组,key: userGroup,width: 120,},{title: 状态,key: enable,width: …

Vue插槽 (Slots)详解

目录 前言基础插槽具名插槽作用域插槽默认插槽动态插槽名总结相关阅读 前言 Vue的插槽(Slots)是一个非常强大的特性,它允许你在组件的模板中嵌入父组件的内容。插槽使得组件之间的内容分发变得灵活,尤其在构建可复用组件时非常…

鸿蒙(HarmonyOS)下拉选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0(API 9) 二、效果图 三、代码 SelectPVComponent.ets Component export default struct SelectPVComponent {Link selection: SelectOption[]priva…

浅谈我对RESTful架构的理解

总结说在前面: RESTful API是目前比较成熟的一套互联网应用程序的 API 设计理论,他是一种理论规范,方便不同的前端设备与后端进行通信,在 RESTful 风格的 API 设计架构中,每个网址代表一种资源(resource&am…

maven介绍 搭建Nexus3(maven私服搭建)

Maven是一个强大的项目管理工具,它基于项目对象模型(POM:Project Object Model)的概念,通过XML格式的配置文件(pom.xml)来管理项目的构建 Maven确实可以被视为一种工程管理工具或项目自动化构…

飞凌嵌入式技术创新日深圳站,8月26日见!

飞凌嵌入式技术创新日(深圳站)将于8月26日举行,一场嵌入式前沿科技的高端局就在眼前。届时,将有多位重量级技术大咖出席,为大家分享最新的研究成果、独到的行业见解和典型的应用案例,紧密结合当前行业热点和…

网络服务综合项目(一键部署shell脚本)

目录 需求: 主机环境描述 注意: 项目需求: 代码讲解 配置本地仓库 安装软件包 配置防火墙 配置策略中的一个布尔值 配置web服务 配置网络仓库 配置DNS服务 配置NTP服务 配置MySQL服务 配置NFS服务 配置论坛服务 进入网站配置…

Java整理14

1、vue3路由机制router npm install router router.jsimport {createRouter,createWebHashHistory} from vue-router 创建一个路由对象const router createRouter() 向外暴露routerexport default routerconst router createRouter({history:createWebHashHistory(), 记录路…

Python数据分析案例55——基于LSTM结构自编码器的多变量时间序列异常值监测

案例背景 时间序列的异常值检测是方兴未艾的话题。比如很多单变量的,一条风速,一条用电量这种做时间序列异常值检测,想查看一下哪个时间点的用电量异常。 多变量时间序列由不同变量随时间变化的序列组成,这些时间序列在实际应用…

小黄人欢乐来袭,国漫萌物大集结

最近上映的《神偷奶爸》4不知道大家有没有去看,小黄人作为该系列电影的标志性角色,继续以其呆萌可爱的形象和幽默搞怪的性格赢得了观众的喜爱。 在中国动漫中,也有许多可爱且深受观众喜爱的萌物角色。这些角色以其独特的形象、有趣的性格和与…

数据结构day6

一、思维导图 二、模拟面试 typedef定义函数指针的方式typedef int(*p)(int,int);对void*指针的理解,相关应用万能指针,可以定义形参用来接收任意类型的指针变量,也可以定义函数用来返回任意类型的指针变量例如malloc函数在堆区申请内存&…

HTTP协议和RPC协议的区别是什么

从功能层面来说,HTTP协议是一个应用层的超文本传输协议,它是万维网数据通信的一个基础,主要服务在网页端和服务端的一个数据传输上。而RPC是一个远程过程调用协议,它是定位在实现分布式应用之间的一个数据通信,屏蔽了通…

SpringBoot入门:如何新建SpringBoot项目(保姆级教程)

在本文中,我们将演示如何新建一个基本的 Spring Boot 项目。写这篇文章的时候我还是很惊讶的,因为我发现有些java的初学者,甚至工作10年的老员工居然并不会新建一个SpringBoot项目,所以特别出了一篇文章来教大家新建一个SpringBoo…

请求重定向后,端口自动去掉的问题

遇到的问题如下: nginx代理端口 1443 -> 9001访问: localhost:9001/index.html会重定向到 localhost:9001/login.html 没问题,因为没有登录。但是访问: localhost:1443/index.html会重定向到 localhost/login.html这个重定向的…

C# 怎么判断两个字符串相等

在C#中,可以使用多种方法来判断两个字符串在忽略大小写的情况下是否相等。以下是几种常用的方法: 1. 使用 String.Equals 方法 String.Equals 方法允许你指定一个 StringComparison 枚举值来控制比较的行为。 string str1 "hello"; string…