代码之家  ›  专栏  ›  技术社区  ›  S31

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

  •  0
  • S31  · 技术社区  · 8 年前

    尝试使用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 回复  |  直到 8 年前
        1
  •  2
  •   QHarr    8 年前

    使用

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

    或者更普遍地说:

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