- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 VBA 将 JSON 数据从 API 提取到 Excel 表。
我已经安装了 VBA-JSON 并打开了 Microsoft Scripting Runtime
。
json 请求传递:
[
{
"Itemcode": "6FSTGWD40",
"DeliveryTimeInDays": 999,
"PalletQuantity": 12,
"Description": "Fiberstone",
"ItemDescription_NL": "Fiberstone",
"ItemStatus": "E",
"SalesPackage_NL": "Stuks ",
"SalesPackage_DE": "Stück",
"SalesPackage_EN": "Unit",
"SalesPackage_FR": "Pièce",
"Salesprice": 132,
"MainGroupCode": "200",
"MainGroupDescription_NL": "Hardware",
"MainGroupDescription_DE": "Hardware",
"MainGroupDescription_EN": "Hardware",
"MainGroupDescription_FR": "Hardware",
"ProductGroupCode": "300",
"ProductGroupDescription_NL": "Plantenbakken",
"ProductGroupDescription_DE": "Gefässe",
"ProductGroupDescription_EN": "Planters",
"ProductGroupDescription_FR": "Bacs",
"GroupDescription": "FSTC",
"GroupDescription_NL": "Pottery Pots Fiberstone",
"GroupDescription_DE": "Pottery Pots Fiberstone",
"GroupDescription_EN": "Pottery Pots Fiberstone",
"GroupDescription_FR": "Pottery Pots Fiberstone",
"MaterialGroupCode": "500",
"MaterialGroupDescription_NL": "Composiet",
"MaterialGroupDescription_DE": "Verbundwerkstoff",
"MaterialGroupDescription_EN": "Composite",
"MaterialGroupDescription_FR": "Matériau composite",
"ItemDescription_EN": "Fiberstone",
"ItemDescription_DE": "Fiberstone",
"ItemDescription_FR": "Fiberstone",
"GTINCode": "8717775668411",
"IsStockItem": true,
"Warehouse": "A",
"ItemVariety_NL": "Dice XL Glossy White",
"ItemVariety_DE": "Dice XL Glossy White",
"ItemVariety_EN": "Dice XL Glossy White",
"ItemVariety_FR": "Dice XL Glossy White",
"PotSize": null,
"ItemPictureName": "6FSTGWD40.png",
"ItemPictureSysmodified": "2019-03-04T11:51:24",
"Content_Ltr": null,
"PlantPassportCode": null,
"Diameter": 46,
"Length": 0,
"Width": 0,
"Height": 60,
"Depth": 59,
"Opening": 36,
"IsOffer": false,
"ShowOnWebsite": false,
"Sysmodified": "2021-07-13T07:38:08.853",
"SalesOrderSize": 1,
"Tags": [
{
"Code": "Brand",
"Values": [
{
"Description_NL": "Pottery Pots",
"Description_DE": "Pottery Pots",
"Description_EN": "Pottery Pots",
"Description_FR": "Pottery Pots"
}
]
},
{
"Code": "Collection",
"Values": [
{
"Description_NL": "Essential",
"Description_DE": "Essential",
"Description_EN": "Essential",
"Description_FR": "Essential"
}
]
},
{
"Code": "ColourPlanter",
"Values": [
{
"Description_NL": "Wit",
"Description_DE": "Weiß",
"Description_EN": "White",
"Description_FR": "Blanche"
}
]
},
{
"Code": "Finish",
"Values": [
{
"Description_NL": "Hoogglans",
"Description_DE": "Hochglanz",
"Description_EN": "High gloss",
"Description_FR": "Brillant"
}
]
},
{
"Code": "Location",
"Values": [
{
"Description_NL": "Buiten",
"Description_DE": "Draußen",
"Description_EN": "Outdoor",
"Description_FR": "Extérieur"
},
{
"Description_NL": "Binnen",
"Description_DE": "Innen",
"Description_EN": "Indoor",
"Description_FR": "Intérieur"
}
]
},
{
"Code": "Material",
"Values": [
{
"Description_NL": "Fiberstone",
"Description_DE": "Fiberstone",
"Description_EN": "Fiberstone",
"Description_FR": "Fiberstone"
}
]
},
{
"Code": "MaterialProperties",
"Values": [
{
"Description_NL": "Handgemaakt",
"Description_DE": "Handgefertigt",
"Description_EN": "Handmade",
"Description_FR": "Fait à la main"
}
]
},
{
"Code": "Serie",
"Values": [
{
"Description_NL": "Fiberstone",
"Description_DE": "Fiberstone",
"Description_EN": "Fiberstone",
"Description_FR": "Fiberstone"
}
]
},
{
"Code": "Shape",
"Values": [
{
"Description_NL": "Cylinder",
"Description_DE": "Cylinder",
"Description_EN": "Cylinder",
"Description_FR": "Cylinder"
}
]
},
{
"Code": "Structure",
"Values": [
{
"Description_NL": "Egaal",
"Description_DE": "Glatt",
"Description_EN": "Smooth",
"Description_FR": "Lisse"
}
]
}
]
},
{
"Itemcode": "8EE425140",
"DeliveryTimeInDays": 2,
"PalletQuantity": 288,
"Description": "Begonia maculata",
"ItemDescription_NL": "Begonia maculata",
"ItemStatus": "A",
"SalesPackage_NL": "Stuks ",
"SalesPackage_DE": "Stück",
"SalesPackage_EN": "Unit",
"SalesPackage_FR": "Pièce",
"Salesprice": 8.45,
"MainGroupCode": "200",
"MainGroupDescription_NL": "Hardware",
"MainGroupDescription_DE": "Hardware",
"MainGroupDescription_EN": "Hardware",
"MainGroupDescription_FR": "Hardware",
"ProductGroupCode": "600",
"ProductGroupDescription_NL": "Artificial ",
"ProductGroupDescription_DE": "Artificial ",
"ProductGroupDescription_EN": "Artificial ",
"ProductGroupDescription_FR": "Artificielle",
"GroupDescription": "KUC",
"GroupDescription_NL": "Artificial decoration",
"GroupDescription_DE": "Artificial Dekoration",
"GroupDescription_EN": "Artificial decoration",
"GroupDescription_FR": "Décoration artificielles",
"MaterialGroupCode": null,
"MaterialGroupDescription_NL": null,
"MaterialGroupDescription_DE": null,
"MaterialGroupDescription_EN": null,
"MaterialGroupDescription_FR": null,
"ItemDescription_EN": "Begonia maculata",
"ItemDescription_DE": "Begonia maculata",
"ItemDescription_FR": "Begonia maculata",
"GTINCode": "8714344320619",
"IsStockItem": true,
"Warehouse": "A",
"ItemVariety_NL": "Tak",
"ItemVariety_DE": "Zweig",
"ItemVariety_EN": "Branch",
"ItemVariety_FR": "Branche",
"PotSize": "0",
"ItemPictureName": "8EE425140.png",
"ItemPictureSysmodified": "2020-02-11T08:57:17",
"Content_Ltr": null,
"PlantPassportCode": null,
"Diameter": 0,
"Length": 0,
"Width": 0,
"Height": 120,
"Depth": 0,
"Opening": 0,
"IsOffer": false,
"ShowOnWebsite": true,
"Sysmodified": "2021-07-06T07:38:14.623",
"SalesOrderSize": 1,
"Tags": [
{
"Code": "ArtificialGroup",
"Values": [
{
"Description_NL": "Overig",
"Description_DE": "Andere",
"Description_EN": "Other",
"Description_FR": "Autres"
}
]
},
{
"Code": "ArtificialType",
"Values": [
{
"Description_NL": "Tak",
"Description_DE": "Ast",
"Description_EN": "Branch",
"Description_FR": "Branche"
}
]
},
{
"Code": "ArtificialVariety",
"Values": [
{
"Description_NL": "Planten",
"Description_DE": "Pflanzen",
"Description_EN": "plants-artificial",
"Description_FR": "Plantes"
}
]
}
]
}
]
使用以下代码,我可以在特定的 Excel 单元格中写入项目 Itemcode
、DeliveryTimeInDays
、PalletQuantity
等。
我无法在 Excel 单元格中使用“代码”和“值”编写“标签”。
Sub test_json()
' dieses makro ist der startpunkt: einholen von aid, ean etc. dieses makro ruft eine liste aller artikel mit status ab.
Worksheets("test").Range("a1:zz100000").ClearContents
Dim ws As Worksheet, jsonObject As Object, jsonText As String, i As Long, http As Object
i = 3
'requesturl = "https://customerapi_dev.nieuwkoop-europe.com/items?sysmodified=2000-01-01"
requesturl = "https://customerapi_dev.nieuwkoop-europe.com/items?sysmodified=2021-02-11&itemCode=6PPNLBO80"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", requesturl, False
http.send
Set jsonObject = JsonConverter.ParseJson(http.responseText)
Worksheets("test").Cells(1, 1).Value = "Itemcode"
Worksheets("test").Cells(1, 2).Value = "DeliveryTimeInDays"
Worksheets("test").Cells(1, 3).Value = "PalletQuantity"
For Each Item In jsonObject
Worksheets("test").Cells(i, 1).Value = Item("Itemcode")
Worksheets("test").Cells(i, 2).Value = Item("DeliveryTimeInDays")
Worksheets("test").Cells(i, 3).Value = Item("PalletQuantity")
i = i + 1
Next Item
End Sub
我试过像下面这样的循环代码,但我总是得到一个错误。
For Each Item In jsonObject ("Tags")("Code")("Values")
Worksheets("test").Cells(i, 5).Value = Item("Description_NL")
Worksheets("test").Cells(i, 6).Value = Item("Description_DE")
Worksheets("test").Cells(i, 7).Value = Item("Description_FR")
i = i + 1
Next Item
我怎样才能从 JSON 文件中写入“标签”数据(例如“代码”和 Description_NL
之类的值)到 Excel 单元格中?
最佳答案
Values 是一个数组(解析成一个集合)所以你想要 tag("Values")(n)
Dim item, tag, n as Long
For Each item In jsonObject
For Each tag In item("Tags")
For n = 1 to tag("Values").Count
Debug.Print tag("Values")(n)("Description_NL")
Next
Next
Next item
或者迭代对象
Dim item, tag, val
For Each item In jsonObject
For Each tag In item("Tags")
For Each val In tag("Values")
Debug.Print item("Itemcode"), tag("Code"), val("Description_NL")
Next
Next
Next item
关于json - 使用 VBA 将数据从 JSON 写入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68937915/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!