将json数组格式转成数组
start cmd
[ 27 01 f7 01 24 38 02 b7 42 6e ee 2f 69 46 72 21 74 44 c4 22 7a 92 d8 6a de 66 61 b1 1e 2f de ee 5c 31 57 db df 01 31 2d c9 01 01 c0 FB ]
set_ulpk
{“jsonrpc”:“2.0”,“type”:2,“id”:0,“method”:“method”,“message”:{“VALUE”:[56,2,183,66,110,238,47,105,70,114,33,116,68,196,34,122,146,216,106,222,102,97,177,30,47,222,238,92,49,87,219,223,1,49,45,201] },“N”:0,“query”:“”,“uri”:"factory_cmd/sys/key/ulpk}
- {“id”:0,“jsonrpc”:“2.0”,“result”:{“SUCCESS”:0},“uri”:“factory_cmd/sys/key/ulpk”}
int set_ulpk(unsigned char data[],int len)
{int r=0,i;std::string ret;std::string str;char buf[64];cJSON *setjson = cJSON_Parse(k_app_setulpk);cJSON *message = cJSON_GetObjectItem(setjson, "message");cJSON *VALUE = cJSON_GetObjectItem(setjson, "VALUE");cJSON_DeleteItemFromObject(message, "VALUE");cJSON *json_array = cJSON_CreateArray();for (int i = 0; i < len; ++i) {cJSON_AddItemToArray(json_array, cJSON_CreateNumber(data[i]));}cJSON_AddArrayToObject_1(message, "VALUE",json_array);char *modified_json = cJSON_PrintUnformatted(setjson);std::string s2=modified_json;if (0 == s_factoryCmd.set(modified_json, ret)) {printf("%s\n", __func__);printf(" - %s\n", modified_json);printf(" - %s\n", ret.c_str());DEBUG_PRINTF("%s\n", __func__);DEBUG_PRINTF(" - %s\n", modified_json);DEBUG_PRINTF(" - %s\n", ret.c_str());cJSON *json = cJSON_Parse(ret.c_str());cJSON *result = cJSON_GetObjectItem(json, "result");cJSON *SUCCESS = cJSON_GetObjectItem(result, "SUCCESS");if (cJSON_IsNumber(SUCCESS)) {printf("SUCCESS: %d\n", SUCCESS->valueint);}cJSON_Delete(json);return SUCCESS->valueint;}return r;
}
get_ulpk - {“jsonrpc”:“2.0”,“type”:1,“id”:0,“method”:“method”,“message”:null,“N”:0,“query”:“”,“uri”:“factory_cmd/sys/key/ulpk”}
- {“id”:0,“jsonrpc”:“2.0”,“result”:{“SUCCESS”:0,“VALUE”:[56,2,183,66,110,238,47,105,70,114,33,116,68,196,34,122,146,216,106,222,102,97,177,30,47,222,238,92,49,87,219,223]},“uri”:“factory_cmd/sys/key/ulpk”}
value:
[56,2,183,66,110,238,47,105,70,114,33,116,68,196,34,122,146,216,106,222,102,97,177,30,47,222,238,92,49,87,219,223]
char *get_ulpk()
{int r=0;char *p;std::string ret;char *json_string;char *gjson_string;const char *delim =",";int len=32,i=0;if (0 == s_factoryCmd.get(k_app_getulpk, ret)) {printf("%s\n", __func__);printf(" - %s\n", k_app_getulpk);printf(" - %s\n", ret.c_str());DEBUG_PRINTF("%s\n", __func__);DEBUG_PRINTF(" - %s\n", k_app_getulpk);DEBUG_PRINTF(" - %s\n", ret.c_str());cJSON *json = cJSON_Parse(ret.c_str());cJSON *result = cJSON_GetObjectItem(json, "result");cJSON *value = cJSON_GetObjectItem(result, "value");if (cJSON_IsArray(value)) {json_string = cJSON_Print(value);printf("value: %s\n", json_string);}else {return NULL;}removeFirstAndLastChar(json_string);// 去掉中括号[ ]p = strtok (json_string,","); //去掉, 全部保留数据while((p!=NULL)&&i<len) {//printf ("%s\n",p);ulpk_arry[i++]=atoi(p);p = strtok(NULL,",");} return ulpk_arry; //json_string;//SUCCESS->valueint;}return NULL;
}
//value: [56, 2, 183, 66, 110, 238, 47, 105, 70, 114, 33, 116, 68, 196, 34, 122, 146, 216, 106, 222, 102,97,177,30,47,222,238,92,49,87,219,223] 去掉中括号 [ ]
void removeFirstAndLastChar(char* str) {int len = strlen(str);if (len <= 2) {str[0] = '\0';return;}memmove(str, str + 1, len - 2);str[len - 2] = '\0';
}
相关文章:
将json数组格式转成数组
start cmd [ 27 01 f7 01 24 38 02 b7 42 6e ee 2f 69 46 72 21 74 44 c4 22 7a 92 d8 6a de 66 61 b1 1e 2f de ee 5c 31 57 db df 01 31 2d c9 01 01 c0 FB ] set_ulpk {“jsonrpc”:“2.0”,“type”:2,“id”:0,“method”:“method”,“message”:{“VALUE”:[56,2,183,66…...
接口测试之测试原则、测试用例、测试流程详解
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、接口的介绍 软件测试中,常说的接口有两种:图形用户接口(GUI,人与程序的接口)、应用程序编程接口&…...
证书上的服务器名错误解决方法
方法 win r ,输入mmc 点击文件——>添加/删除管理单元 找到证书——> 添加 根据自己的存放选择存放位置 点击控制台根节点——> 受信任的根证书颁发机构——>导入 若还出现问题,则参考https://blog.csdn.net/mm120138687/article/details/…...
前端:上传2进制图片
1、let formData new FormData(); 2、添加要传的字段:formData.append("avatarfile", data); (key,value) 3、上传文件 function uploadImg() {// 1定义FormDatalet formData new FormData();// 2添加字段formData.append("…...
web前端 React 框架面试200题(三)
面试题 65. 在使用 React Router时,如何获取当前页面的路由或浏览器中地址栏中的地址? 参考回答: 在当前组件的 props中,包含 location属性对象,包含当前页面路由地址信息,在 match中存储当前路由的参数等…...
交流负载箱:电力系统的节能利器
交流负载箱是模拟电网中实际负载的装置,它能够精确地模拟各种电器设备的耗电情况,为电力系统的节能提供了重要的工具。在电力系统中,交流负载箱的应用非常广泛,它可以用于电力系统的设计、运行和维护,以及电力设备的测…...
【思科】链路聚合实验配置和背景
【思科】链路聚合实验配置和背景 背景链路聚合基本概念链路聚合聚合接口 思科链路聚合协议01.PAgP协议02.LACP协议 思科链路聚合模式LACP协议模式PAgP协议模式ON模式 实验准备配置二层链路聚合LACP协议模式SW1SW2PC1PC2查看LACP聚合组建立情况查看LACP聚合端口情况查看逻辑聚合…...
使用 vue-element-plus-admin 框架遇到的问题记录
项目打包遇到的问题: 打包语句:pnpm run build:pro 报错信息: Error: [vite]: Rollup failed to resolve import "E:/workplace_gitee/xxx/node_modules/.pnpm/element-plus2.5.5_vue3.4.15/node_modules/element-plus/es/components…...
从零开始手写STL库:List
从零开始手写STL库–List部分 Github链接:miniSTL 文章目录 从零开始手写STL库–List部分List是什么?List需要包含什么函数1)基础成员函数2)核心功能3)其他功能 基础成员函数的编写核心功能的编写其他功能编写总结 List是什么&am…...
蒙特卡洛采样
目录 蒙特卡洛采样的计算逻辑计算步骤:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计期望值或积分值6. 计算误差具体示例:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计积分值6. 计算误差总结蒙特卡洛采样是一种通过随机生成样本点来…...
Apache虚拟主机VirtualHost配置项详解
在Apache中,VirtualHost容器用于定义一个虚拟主机的配置,它允许在单一的物理服务器上托管多个不同的网站,每个网站可以有自己的域名、文档根目录、错误日志等。VirtualHost内的配置项非常灵活,可以包含从基本的网站信息到高级的URL重写和安全设置。 以下是一些常见的Virtu…...
OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介
OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介 一、引言 在人工智能领域,OpenAI的GPT系列模型一直是自然语言处理的标杆。随着技术的不断进步,OpenAI推出了多个版本的GPT模型,包括视觉增强的GPT-4V(GPT-4 with Vision&…...
从人工巡检到智能防控:智慧油气田安全生产的新视角
一、背景需求 随着科技的飞速发展,视频监控技术已成为各行各业保障安全生产、提升管理效率的重要手段。特别是在油气田这一特殊领域,由于其工作环境复杂、安全风险高,传统的监控方式已难以满足实际需求。因此,基于视频监控AI智能…...
【黑马java基础】Lamda, 方法引用,集合{Collection(List, Set), Map},Stream流
文章目录 JDK8新特性:Lambda表达式认识Lambda表达式Lambda表达式的省略规则 JDK8新特性:方法引用静态方法的引用实例方法的引用特定类型方法的引用构造器的应用 集合➡️Collection单列集合体系Collection的常用方法Collection的遍历方法迭代器增强for循…...
Stable Diffusion 使用详解(1)---- 提示词及相关参数
目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…...
数据结构和算法(刷题) - 无序数组排序后的最大相邻差
无序数组排序后的最大相邻差 问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 三种方法: 排序后计算比较 简介:用任意一种时间复杂度为 O ( n log n ) O…...
HOW - React 处理不紧急的更新和渲染
目录 useDeferredValueuseTransitionuseIdleCallback 在 React 中,有一些钩子函数可以帮助你处理不紧急的更新或渲染,从而优化性能和用户体验。 以下是一些常用的相关钩子及其应用场景: useDeferredValue 用途:用于处理高优先级…...
基于A律压缩的PCM脉冲编码调制通信系统simulink建模与仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1A律压缩的原理 4.2 PCM编码过程 4.3 量化噪声与信噪比 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#…...
【入门教程一】基于DE2-115的My First FPGA 工程
1.1. 概述 这是一个简单的练习, 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中,您将学习如何编译 Verilog 代码,进行引脚分配,创建时序约束,然后对 FPGA 进行编程,驱动开…...
mysql中的索引和分区
目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…...
ESB接口异常排查实战指南
1. ESB接口异常排查全景图 第一次接触ESB接口报错时,我盯着满屏的异常日志完全无从下手。经过多年实战,我发现ESB问题就像侦探破案,需要建立系统化的排查思维。ESB(企业服务总线)作为系统间的"交通枢纽"&…...
城市大脑实战:如何用Max Pressure思想优化Python+SUMO交通仿真(附PressLight代码解析)
城市交通信号优化实战:基于Max Pressure的PythonSUMO仿真与PressLight实现 在智慧城市建设浪潮中,交通信号控制系统的智能化升级已成为缓解城市拥堵的关键突破口。传统定时控制方案如SCATS、SCOOT在面对动态交通流时显得力不从心,而纯强化学习…...
RAG 系列(十二):高级分块策略——Parent-Child 与 Contextual Retrieval
分块的两难困境 RAG 系统里有一个经典矛盾: Chunk 太小:向量匹配精准,但返回给 LLM 的内容是片段,缺乏上下文,无法完整回答问题 Chunk 太大:内容完整,但语义太分散,embedding 质量下降,检索命中率降低 这不是调参能解决的问题,而是 Naive 分块的结构性缺陷。 小块适…...
【AIAgent权限管理黄金法则】:SITS2026标准落地的5大致命误区与3步合规闭环
更多请点击: https://intelliparadigm.com 第一章:AIAgent权限管理:SITS2026标准的核心定位与演进逻辑 SITS2026 是首个面向自主智能体(AIAgent)全生命周期治理的国际协同标准草案,其核心突破在于将传统 R…...
OpenCore Legacy Patcher终极指南:老Mac升级新系统的完整教程
OpenCore Legacy Patcher终极指南:老Mac升级新系统的完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款免费…...
企业级智能地址解析架构:高并发场景下的Java解决方案
企业级智能地址解析架构:高并发场景下的Java解决方案 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 在电商、物流、金融等数字化业务高速发展的今天,地址数据的标准化处…...
5分钟终极指南:Steam成就管理器如何帮你找回错过的游戏成就
5分钟终极指南:Steam成就管理器如何帮你找回错过的游戏成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 你是否曾经因为游戏Bug、存档损坏或…...
Horos医疗影像查看器:macOS平台上的免费专业DICOM解决方案
Horos医疗影像查看器:macOS平台上的免费专业DICOM解决方案 【免费下载链接】horos Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos is base…...
FFmpeg GUI:3分钟搞定音视频处理,告别复杂命令行的图形化神器
FFmpeg GUI:3分钟搞定音视频处理,告别复杂命令行的图形化神器 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI 还在为FFmpeg复杂的命令行参数而头疼吗?FFmpeg GUI为你带来了革命性的解…...
Cursor IDE 集成多AI模型代理:DeepSeek/Ollama/OpenRouter部署指南
1. 项目概述:为 Cursor Composer 解锁更多 AI 模型作为一名深度使用 Cursor IDE 进行开发的程序员,我深知其内置的 Composer(AI 编程助手)功能强大,但有时也会受限于其默认绑定的模型服务。如果你想在 Cursor 里用上 D…...
