VBA JsonConverter添加附加引号

justart5

我目前正在尝试使用此处找到的VBA模块add in解析JSON 我目前将JSON文件存储为本地文本文件,因此我将其调用到VBA中,进行必要的更改,然后将其发送回新文件。由于我无法弄清楚的原因,该代码似乎在开头和结尾添加引号(因为它是字符串),并且还在每个键/值对中添加引号。后者是我想要做的事的停止(这些都是大的Json文件)。我目前拥有的解决方案是将它们打印到单元格中,然后将JSON复制/粘贴到文本文件中,即使那样也不是很简单。有没有比我正在尝试的解决方案更好的解决方案?

Dim Json As Object

FilePath = "Path to file.txt"
Open FilePath For Input As #1
    Data = Input$(LOF(1), #1)
Close #1
Set Json = JsonConverter.ParseJson(Data)
Json("key 1")("key 2") = "value"

outputfile ="path to file.txt"
    Write #1, JsonConverter.ConvertToJson(Json, Whitespace:=2)
Close #1
Open outputfile For Input As #1
    NewData = Input$(LOF(1), #1)
Close #1
NewData = Replace(NewData, """", "!")  
NewData = Replace(NewData, "!!", """") 
NewData = Replace(NewData, "!", "")   
m1.Cells(x,y) = NewData

因此,如果您查看输入JSON与输出文件JSON,则密钥已成功编辑,但是看起来像这样

input file
{"key1":{"key2":"Blank"}} 

outputfile
"{""key1"":{""key2"":""value""}}"

文件很大,要在此处发布,因此从键和值中删除多余的引号,外面就很麻烦,而excel的replace函数似乎不适合此操作。

就像我说的那样,以NewData开头的3行代码将对此进行处理,然后在其后的第4行将整个内容粘贴到单个单元格中,然后将其粘贴回文本文件中。这是我想出的两种无效引号都删除的最有效方法。

蒂姆·威廉姆斯

https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2008/yxw69s8t(v=vs.90)?redirectedfrom=MSDN

与“打印”功能不同,“写入”功能在将项目和字符串写到文件时在字符串之间加上逗号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章