json - 从 excel 添加到现有 JSON
问题描述
我想使用 vba 在 excel 中添加这个 JSON 文件。
所以我有这个 JSON 文件
{
"root": [{
"STATUS_RESPONSE": {
"STATUS": {
"STATUS": {
"OWNER": "root"
}
},
"REQ_ID": "00000",
"RESULT": [{
"USER": {
"BUSINESS_ID": "A",
"USER_NUMBER": "45",
"LANGUAGE": "F"
}
},
{
"USER_SESSION": {
"USER_ID": "0000001009",
"HELP_URL": "http://google.com"
}
},
{
"USER_ACCESS": {
"SERVICES_ROLE": "true",
"JOURNALLING": "true"
}
}]
}
}]
}
我想在它下面添加另一个“用户”,所以它看起来像
{
"root": [{
"STATUS_RESPONSE": {
"STATUS": {
"STATUS": {
"OWNER": "root"
}
},
"REQ_ID": "00000",
"RESULT": [{
"USER": {
"BUSINESS_ID": "A",
"USER_NUMBER": "45",
"LANGUAGE": "F"
}
},
{
"USER": {
"BUSINESS_ID": "B",
"USER_NUMBER": "55",
"LANGUAGE": "E"
}
},
{
"USER_SESSION": {
"USER_ID": "0000001009",
"HELP_URL": "http://google.com"
}
},
{
"USER_ACCESS": {
"SERVICES_ROLE": "true",
"JOURNALLING": "true"
}
}]
}
}]
}
这是我目前拥有的
Private Sub CommandButton3_Click()
Dim z As Integer, items As New Collection, myitem As New Dictionary
Dim rng As Range
Dim cell As Variant
Dim FSO As New FileSystemObject
Dim JsonTS As TextStream
Set JsonTS = FSO.OpenTextFile("test.json", ForReading)
JsonText = JsonTS.ReadAll
JsonTS.Close
Set JSON = ParseJson(JsonText)
Set rng = Range("A5")
z = 0
For Each cell In rng
myitem("BUSINESS_ID") = cell.Offset(0, 1).Value
myitem("USER_NUMBER") = cell.Offset(0, 2).Value
myitem("LANGUAGE") = cell.Offset(0, 3).Value
items.Add myitem
Set myitem = Nothing
z = z + 1
Next
myfile = Application.ActiveWorkbook.Path & "\test.json"
Open myfile For Output As #1
Print #1, ConvertToJson(myitem, Whitespace:=2)
MsgBox ("Exported to JSON file")
Close #1
End Sub
所有这一切都是将它添加到现有 JSON 之下,而不是全部连接到它。
我将如何使用 excel 中的信息在当前用户下方添加另一个“用户”
解决方案
推荐阅读
- scala - 我应该如何通过 DDD 将此值获取到 Akka HTTP 中的异步代码
- jquery - 在动态添加的行的字段下方显示错误消息
- c++ - 如何声明基于平台的 C++ 变量类型?
- java - springdoc-openapi-ui生成的swagger-ui中如何更改请求头中授权key的名称
- java - 如何在 docker 中使用微服务测试集成层
- c# - 在邮件正文中使用锚标记传递参数
- python - 为什么 bytes() 解决了我的换行问题?
- google-bigquery - 基于时间戳的动态调度查询
- excel - 如何运行另一个宏但更改其中的变量?
- ejabberd - OS X ejabberd 配置错误:SQLite3 library >= 3.6.19 was not found