我需要从JSON对象获取数据,并将一些数据显示到MSHFlexGrid中.我正在使用(VBA-JSON v2.3.1 JsonConverter).VBA-Json in Github

以下是json:

{
"status": "OK",
"code": "OK",
"message": "Ok",
"data": {
"messages": [
{
"number": "+9710001529",
"message": "Hello World",
"sender": "+97911308600",
"time": "2022-07-12T20:12:14Z",
"type": "normal"
},
{
"number": "+9710001529",
"message": "Just For Test",
"sender": "+979051931024",
"time": "2022-06-28T23:15:22Z",
"type": "normal"
},
{
"number": "+9710001529",
"message": "Test",
"sender": "+979565547989",
"time": "2022-01-28T16:04:50Z",
"type": "mobilepanel"
},
{
"number": "+9710001529",
"message": "Comment",
"sender": "+979102900089",
"time": "2018-06-16T22:23:23Z",
"type": "normal"
}
]
},
"meta": {
"total": 37,
"pages": 4,
"limit": 10,
"page": 0,
"prev": null,
"next": "http://0.0.0.0:80/v1/inbox?limit=10\u0026page=1"
}
}

这是我的代码:

Set Json = JsonConverter.ParseJson(strResp)
MSHFlexGrid1.AddItem Json("data")("messages")(1)("number") & vbTab & Json("data")("messages") 
(1)("message") & vbTab & Json("data")("messages")(1)("sender")

问题是,只有表的第一行填充了json的数据,并且每列都没有标题.如何读取json并将其显示在MSHFlexGrid中,作为具有每列名称的行和列?

推荐答案

喜欢这项工作吗?为了清晰起见,长线被打断.请注意,页眉是在循环之前单独手动添加的.第二件需要注意的事情是,不是用Json("data")("messages")(1),而是用循环变量IJson("data")("messages")(I).用.Count得到消息的数量,然后循环.这可以防止它们重复.

如果网格仅显示一行,则可能需要或不需要MSHFlexGrid1.Rows = MSHFlexGrid1.Rows + 1,这取决于网格类型.不确定特定的电网控制.

Set Json = JsonConverter.ParseJson(strResp)
Dim Header as String
Header = "Number" & vbTab & "Message" & vbTab & "Sender"
MSHFlexGrid1.AddItem Header

For I = 1 to Json("data")("messages").Count
  Dim Line as String
  Line = ""
  Line = Json("data")("messages")(I)("number")
  Line = Line & vbTab 
  Line = Line & Json("data")("messages")(I)("message")
  Line = Line & vbTab 
  Line = Line & Json("data")("messages")(I)("sender")

  MSHFlexGrid1.AddItem Line
Next

Json相关问答推荐

如何在Power BI中集成API和JSON数据后将数据转换为表?

使用Jolt将字符串数组转换为JSON对象数组

如何在VegaLite中应用Times New Roman,CaliBiri字体

使用WSO2 JsonTransform Mediator对空值执行JsonExceptionUndeletedOperationException

在Ruby的json中压缩单个字段

无法访问id的第三级json

当由.sh脚本执行时,AWS查询字符串不会提取任何数据

jq:将一个数组与多个数组连接起来

如何迭代、动态加载我的表单输入元素,然后在 React 中的表单提交上检索输入值?

在Flutter 中将 map 的 Json 转换为 list

PowerShell:如何将哈希表输出为 json 并使用 foreach 循环将其存储在变量中?

提交后使用 Rails 7 结合 JSON 标签进行标记

如何删除 django jsonfield 中的特定项目

SyntaxError:Object.parse(本机)AngularJS中的意外标记o

Rails:format.js 或 format.json,或两者兼而有之?

关于使用 $ref 的 JSON 模式

如何使用 Jackson 的 objectMapper 反序列化接口字段?

使用 axios 在 POST multipart/form-data 请求中发送文件和 json

如何使用 SwiftyJSON 遍历 JSON?

使用 JSON.NET 序列化/反序列化对象字典