我正在尝试在Excel中编写一个脚本,该脚本将采用一串JSON并将其展平。与JS中的相似。
http://fiddle.jshell.net/zachc/S2hsS/101/embedded/result/
最简单的方法是什么?谢谢!
答案 0 :(得分:0)
flatten
函数可以转换为VBA,如下面的代码所示。 将JSON.bas模块导入VBA项目以进行JSON处理。
Option Explicit
Sub Test()
Debug.Print FlattenJSON("{foo:{bar:false,data:[1,[2,[3,4],5],6]}}")
End Sub
Function FlattenJSON(sJSON As String) As String
Dim sState As String
Dim vJSON As Variant
Dim vResult As Variant
JSON.Parse sJSON, vJSON, sState
If sState = "Error" Then MsgBox "Invalid JSON": End
JSON.Flatten vJSON, vResult
FlattenJSON = JSON.Serialize(vResult)
End Function
我的输出如下:
{
"foo.bar": false,
"foo.data[0]": 1,
"foo.data[1][0]": 2,
"foo.data[1][1][0]": 3,
"foo.data[1][1][1]": 4,
"foo.data[1][2]": 5,
"foo.data[2]": 6
}