当前位置: 首页 > news >正文

中国建设人才服务信息网站做网站哪家网站好

中国建设人才服务信息网站,做网站哪家网站好,郴州网站优化,html网页设计案例和代码在VB.NET中#xff0c;若要从 JSON 数据里提取Data.DataList数组中的CategoryId#xff0c;并将其转换为VB.NET数组#xff0c;可借助Json.NET#xff08;Newtonsoft.Json#xff09;库来实现。下面为你详细介绍具体的实现步骤和代码示例#xff1a; 一、实现 JSON 到数…在VB.NET中若要从 JSON 数据里提取Data.DataList数组中的CategoryId并将其转换为VB.NET数组可借助Json.NETNewtonsoft.Json库来实现。下面为你详细介绍具体的实现步骤和代码示例 一、实现 JSON 到数组的转换 方法 1通过 JObject 解析灵活通用 Imports Newtonsoft.Json Imports Newtonsoft.Json.LinqPublic Function ExtractCategoryIds(jsonText As String) As Long()Try 解析JSON根对象Dim jsonObj As JObject JObject.Parse(jsonText) 获取DataList数组Dim dataList As JArray jsonObj?(Data)?(DataList) as JArrayIf dataList Is Nothing ThenReturn New Long(-1) {} 返回空数组End If 提取CategoryId并转换为数组Return dataList.Select(Function(item) item?(CategoryId)?.Value(Of Long)()).Where(Function(id) id.HasValue).Select(Function(id) id.Value).ToArray()Catch ex As ExceptionConsole.WriteLine(JSON解析错误: ex.Message)Return New Long(-1) {} 出错时返回空数组End Try End Function方法 2反序列化为强类型对象类型安全 Imports Newtonsoft.Json 定义数据模型 Public Class RootObjectPublic Property Code As IntegerPublic Property Data As DataObject End ClassPublic Class DataObjectPublic Property TotalCount As IntegerPublic Property PageIndex As IntegerPublic Property PageSize As IntegerPublic Property DataList As List(Of CategoryItem) End ClassPublic Class CategoryItemPublic Property CategoryId As Long End Class 转换方法 Public Function ExtractCategoryIdsWithModel(jsonText As String) As Long()Try 反序列化为强类型对象Dim root As RootObject JsonConvert.DeserializeObject(Of RootObject)(jsonText) 提取CategoryId数组If root?.Data?.DataList Is Nothing ThenReturn New Long(-1) {}End IfReturn root.Data.DataList.Select(Function(item) item.CategoryId).ToArray()Catch ex As ExceptionConsole.WriteLine(JSON反序列化错误: ex.Message)Return New Long(-1) {}End Try End Function二、使用示例 Sub Main()Dim jsonText As String {Code:200,Data:{TotalCount:14,PageIndex:1,PageSize:100,DataList:[{CategoryId:271},{CategoryId:272}]}} 方法1动态解析Dim categoryIds1 As Long() ExtractCategoryIds(jsonText) 方法2强类型解析Dim categoryIds2 As Long() ExtractCategoryIdsWithModel(jsonText) 输出结果Console.WriteLine(提取的CategoryId数组:)For Each id In categoryIds1Console.WriteLine(id) 输出: 271, 272Next End Sub三、关键要点说明 空值处理 运用?.操作符来避免出现NullReferenceException。对可能为空的数组进行检查防止程序崩溃。 类型转换 采用Value(Of Long)()方法将 JSON 值转换为 Long 类型。借助Where(Function(id) id.HasValue)过滤掉无效的值。 异常处理 捕获JsonReaderException和JsonSerializationException增强程序的健壮性。出错时返回空数组而非Nothing减少上层代码的判断逻辑。 四、扩展功能 1. 处理嵌套路径通用方法 vb Public Function ExtractValuesByPath(jsonText As String, path As String) As Long()TryDim jsonToken As JToken JToken.Parse(jsonText)Dim tokens As IEnumerable(Of JToken) jsonToken.SelectTokens(path)Return tokens.Select(Function(token) token.Value(Of Long)()).ToArray()Catch ex As ExceptionConsole.WriteLine($提取路径 {path} 出错: {ex.Message})Return New Long(-1) {}End Try End Function 使用示例 Dim categoryIds As Long() ExtractValuesByPath(jsonText, $.Data.DataList[*].CategoryId)2. 异步解析大 JSON 文件 Public Async Function ExtractCategoryIdsAsync(jsonText As String) As Task(Of Long())TryUsing reader As New StringReader(jsonText)Using jsonReader As New JsonTextReader(reader)Dim serializer As JsonSerializer New JsonSerializer()Dim root As RootObject Await Task.Run(Function() serializer.Deserialize(Of RootObject)(jsonReader)End Function)Return root?.Data?.DataList?.Select(Function(item) item.CategoryId).ToArray() ?? New Long(-1) {}End UsingEnd UsingCatch ex As ExceptionConsole.WriteLine(异步解析错误: ex.Message)Return New Long(-1) {}End Try End Function五、性能考量 小 JSON推荐使用强类型反序列化方法 2这样能提高代码的可读性和类型安全性。大 JSON建议采用JsonTextReader进行流式解析以降低内存的占用。动态路径可使用SelectTokens方法来处理复杂的 JSON 结构。 通过上述方法你可以在VB.NET中高效、安全地从 JSON 数据里提取所需的数组。 在不使用第三方库的情况下如何实现JSON到数组的转换 提供一些关于JSON和数组操作的VB.NET最佳实践。 除了Json.NET库还有哪些常用的JSON库可用于VB.NET
http://www.zqtcl.cn/news/837013/

相关文章:

  • 房产部门成立网站免费seo推广软件
  • python做网站好处百度指数分析报告
  • 网站建设挣钱班级介绍网页制作模板
  • 工作室 网站建设app公司
  • 自己做的网站怎么在百度搜索到网页制作论文3000字
  • 如何网站托管中国跨境电商平台有多少
  • 手机p2p网站做平面设计兼职的网站有哪些
  • 贵金属网站建设唐山网站制作工具
  • 网站入门成都网站制作沈阳
  • 接做网站单子的网站做网站要会那些ps
  • 做盗市相关网站wordpress速度优化简书
  • 贵阳手机网站建设公司国内永久免费云服务器
  • 温州做网站定制哪家网络推广公司好
  • 招聘网站怎么做线下活动网站后台管理系统怎么开发
  • 西湖区外贸网站建设商梦建站
  • 网站首页设计注意斗蟋蟀网站建设
  • 石家庄网站建设远策科技网站建设公司人员配备
  • 手机怎么建网站链接专门做鞋子的网站吗
  • 网站建设设计作品怎么写网站建设 网站内容 采集
  • 自己做网站nas如何做网站大图片
  • 网站优化定做嘉兴模板建站代理
  • 南宁做网站比较好的公司有哪些花乡科技园区网站建设
  • 网站注册平台怎么注册申请空间 建立网站吗
  • 汕头住房与城乡建设网站做网站视频 上传到哪儿
  • 东莞网站关键词优化福建个人网站备案
  • 国外获奖flash网站泉州网站制作专业
  • 万网域名注册后如何做网站教学上海app开发和制作公司
  • 恩施网站建设公司个人网站怎么制作成图片
  • 泸州高端网站建设公司上海企业网站
  • wordpress 建站 知乎济南全包圆装修400电话