You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB类中添加Accessorial代码生成指定JSON结构?

JSON序列化与Accessorial代码添加方案

一、给Accessorials的codes添加"HAZ"的简便方法

你当前用的String()是固定长度数组,VB里没法直接往里面追加元素,更推荐换成List(Of String)——既能灵活添加元素,序列化后生成的JSON依然是数组格式,完全满足需求:

Public Class Accessorials
    ' 把固定数组替换为可动态操作的List
    Public codes As New List(Of String)
End Class

之后在主类中直接添加元素即可:

Dim load As New fgtload
load.accessorials.codes.Add("HAZ")

如果一定要保留String()数组,就得手动扩容复制元素,代码会繁琐一些:

' 扩容数组并复制原有元素
Dim newCodes As String() = New String(load.accessorials.codes.Length) {}
Array.Copy(load.accessorials.codes, newCodes, load.accessorials.codes.Length)
' 添加新的"HAZ"代码
newCodes(newCodes.Length - 1) = "HAZ"
' 替换原数组
load.accessorials.codes = newCodes

二、主类的accessorials要不要改成List(Of Accessorials)?

这完全取决于你要生成的目标JSON结构:

  • 如果目标JSON是单个对象嵌套结构,比如:
    {
      "accessorials": {
        "codes": ["HAZ"]
      }
    }
    
    保持当前Public accessorials As New Accessorials的写法即可,无需修改。
  • 如果目标JSON是包含多个Accessorials对象的数组结构,比如:
    {
      "accessorials": [
        {"codes": ["HAZ"]},
        {"codes": ["FRE"]}
      ]
    }
    
    这时才需要把主类中的定义改成Public accessorials As New List(Of Accessorials),之后可以添加多个Accessorials实例。

三、序列化生成JSON示例

用VB常用的Newtonsoft.Json库序列化的代码示例:

Imports Newtonsoft.Json

' 生成格式化后的JSON字符串
Dim jsonStr As String = JsonConvert.SerializeObject(load, Formatting.Indented)

内容的提问来源于stack exchange,提问作者dashley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:53:18