从解析的JSON字符串中提取一个特定行

时间:2018-05-30 18:03:10

标签: json vba

尝试使用JsonConverter库从解析的JSON字符串中提取第一个值。

我目前拥有的是:

result = objHTTP.responseText

Set parsedResult = JsonConverter.ParseJson(result)

i = 3
For Each Item In parsedResult("From")
    wsSheet0.Cells(i, 12) = parsedResult("From")(Item)("Price")
    i = i + 1
Next

With parsedResult("From")
wsSheet0.Cells(11, 12) = parsedResult("From")("Chocolate")("Price")("AsAtDate")
End With

最后一行会出现type mismatch错误,所以我仍然在试图弄清楚如何只拉一个订单项。

为了清楚起见,解析的JSON字符串如下所示:

{  
   "From":{  
      "Chocolate":{  
         "Price":1.0,
         "AsAtDate":"2018-05-04T00:00:00"
      },
      "Lime":{  
         "Price":1.35415115,
         "AsAtDate":"2018-05-04T00:00:00"
      },
      "Strawberry":{  
         "Price":1.19517151,
         "AsAtDate":"2018-05-04T00:00:00"
      },
      "Vanilla":{  
         "Price":0.77522986,
         "AsAtDate":"2018-05-04T00:00:00"
      },
      "Blueberry":{  
         "Price":1.00084071,
         "AsAtDate":"2018-05-04T00:00:00"
      },
      "Lemon":{  
         "Price":0.75030012,
         "AsAtDate":"2018-05-04T00:00:00"
      }
   },
   "To":"Chocolate",
   "RequestedDate":"2018-05-22T08:26:16"
}

1 个答案:

答案 0 :(得分:2)

使用

parsedResult("From")("Chocolate")("AsAtDate")

或者更普遍的是获得所有:

parsedResult("From")(item)("AsAtDate")