首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不超过15位的VBA Json转换器

不超过15位的VBA Json转换器
EN

Stack Overflow用户
提问于 2018-07-12 13:15:09
回答 1查看 661关注 0票数 2

我正在使用来自这个链接https://github.com/VBA-tools/VBA-JSON的VBA转换器

我有一个有16位数字的单元格,但是当我将它转换成JSON时,它会不使用引号来转换它。

所以应该是这样的

代码语言:javascript
复制
{
    ID: "1525879763214789"
}

但就这样出现了

代码语言:javascript
复制
{
   ID: 1525879763214789
}

我尝试将单元格格式更改为文本,但这也没有帮助。

编辑:

代码语言:javascript
复制
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)

JSON("root")(1)("STATUS_RESPONSE")("RESULT")(1)("USER")("BUSINESS_ID") = Sheets(1).Cells(2, 1).Value
JSON("root")(1)("STATUS_RESPONSE")("RESULT")(1)("USER")("ID") = Sheets(1).Cells(2, 2).Value

myfile = Application.ActiveWorkbook.Path & "\test.json"
Open myfile For Output As #1
Print #1, ConvertToJson(JSON, Whitespace:=2)
MsgBox ("Exported to JSON file")
Close #1

End Sub

我的JSON

代码语言:javascript
复制
{
    "root": [{
        "STATUS_RESPONSE": {
            "STATUS": {
                "STATUS": {
                    "OWNER": "root"
                }
            },
            "REQ_ID": "00000",
            "RESULT": [{
                "USER": {
                    "BUSINESS_ID": "A",
                    "USER_NUMBER": "45",
                    "LANGUAGE": "F",
                    "ID" : "1525879763214789"
                }
            },
            {
                "USER_SESSION": {
                    "USER_ID": "0000001009",
                    "HELP_URL": "http://google.com"
                }
            },
            {
                "USER_ACCESS": {
                    "SERVICES_ROLE": "true",
                    "JOURNALLING": "true"

                }
            }]
        }
    }]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-12 14:31:03

在下面的代码部分中,将UseDoubleForLargeNumbers的标志设置为True,这应该有效。

代码语言:javascript
复制
Dim myfile As Variant
myfile = Application.ActiveWorkbook.Path & "C:\Temp\test_out.json"
Open myfile For Output As #1

JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True

Print #1, ConvertToJson(JSON, Whitespace:=2)
'MsgBox ("Exported to JSON file")
Close #1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51306698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档