중첩 된 JSON에서 VBA로 Excel을 채우는 방법은 무엇입니까?

미스터 K

JSON 응답

  "error": null,
  "metadata": {
    "total": 1,
    "limit": 1000,
    "offset": 0
  },
  "data": [
    {
      "id": 1,
  "description": "10 licenses",
  "closeDate": "2018-05-22",
  "date": "2018-05-22",
  "notes": "",
  "user": {
    "id": 1,
    "name": "Gustav Petterson",
    "role": null,
    "email": "[email protected]"
  },
  "client": {
    "name": "Pied piper",
    "id": 2,
    "users": [
      {
        "id": 1,
        "name": "Gustav Petterson",
        "role": null,
        "email": "[email protected]"
      }
    ]
  },
  "contact": null,
  "project": null,
  "regDate": "2018-05-22T11:08:26.000Z",
  "stage": {
    "name": "Won - Order",
    "id": 12
  },
  "probability": 100,
  "modDate": "2018-05-22T11:13:59.000Z",
  "clientConnection": null,
  "currencyRate": 1,
  "currency": "SEK",
  "locked": 0,
  "custom": [
    {
      "value": "2018-05-23",
      "valueDate": "2018-05-23",
      "orgNumber": 20180523,
      "fieldId": 1
    }
  ],
  "orderRow": [
    {
      "id": 1,
      "quantity": 1,
      "price": 10000,
      "discount": 0,
      "custom": [],
      "productId": 1,
      "sortId": 1,
      "listPrice": 10000,
      "product": {
        "name": "Example product",
        "id": 1,
        "category": null
      }
    }
  ],
  "value": 10000,
  "weightedValue": 10000,
  "valueInMasterCurrency": 10000,
  "weightedValueInMasterCurrency": 10000,
  "agreement": null,
  "userRemovable": true,
  "userEditable": true
}
  ]
}

그래서 나는 이것을 내 시트로 파싱하려고 시도했지만 지금은 꽤 오랫동안 고생했습니다. 내가 원하는 것은 모든 주문 세부 정보를 시트로 가져 오는 것이지만 여러 수준의 중첩 부품이 계속해서 나를 괴롭 혔습니다.

"데이터"에서는 첫 번째 중첩 항목 인 "사용자"(사전) 또는 "클라이언트"(컬렉션)까지 실행될 때까지 모든 것이 잘 진행됩니다. 중첩 된 항목을 가져 오기 위해 다음 루프를 실행하려고했지만 더 큰 혼란을 만들었습니다.

Sub GetOrders()

Dim sGetResult As String

Dim d_lr As Double

Dim httpObject As Object
Dim dict_json As Object

Dim objData
Dim objOrder

d_lr = LastRow(ActiveSheet)

Set httpObject = CreateObject("MSXML2.XMLHTTP")
        
    sURL = "https://integration.upsales.com/api/v2/orders?token=" & wAdmin.Range("C4") & "&probability=100"
        
    sRequest = sURL
    httpObject.Open "GET", sRequest, False

    httpObject.setRequestHeader "Accept: ", "application/json"
    httpObject.Send
    sGetResult = httpObject.responseText

    Set dict_json = JsonConverter.ParseJson(sGetResult)
    Set objData = dict_json("data")

    For Each objOrder In objData
        For i = 0 To objOrder.Count - 1
            Debug.Print objOrder.Items()(i)
        Next I
    Next objOrder

End Sub
CDP1802

개체 유형을 테스트하고 그에 따라 반복해야합니다.

    Set dict_json = JsonConverter.ParseJson(sGetResult)
    Set objdata = dict_json("data")(1)
    
    Dim k, v, u
    For Each k In objdata
    
       If VarType(objdata(k)) = 9 Then ' object
          
            If k = "user" Then
                For Each u In objdata(k)
                    Debug.Print "user", u, objdata(k)(u)
                Next
            End If
          
            If k = "client" Then
                For Each u In objdata(k)
                    If u = "users" Then
                        ' for each loop for users
                    Else
                        Debug.Print "client", u, objdata(k)(u)
                    End If
                Next
            End If
          
       Else
           Debug.Print k, objdata(k)
       End If
       
    Next

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

dart flutter에서 json 객체로 중첩 된 json 문자열을 변환하는 방법은 무엇입니까?

분류에서Dev

MongoDB에서 중첩 된 ref 배열을 채우는 방법은 무엇입니까?

분류에서Dev

MongoDB가 중첩 된 json을 배열로 찾는 방법은 무엇입니까?

분류에서Dev

MongoDB가 중첩 된 json을 배열로 찾는 방법은 무엇입니까?

분류에서Dev

중첩 된 json을 Javascript에서 객체 배열로 변환하는 방법은 무엇입니까?

분류에서Dev

중첩 된 Json에서 CSV로 목록을 추출하는 방법은 무엇입니까?

분류에서Dev

Pandas에서 중첩 된 json을 행으로 폭발시키는 방법은 무엇입니까?

분류에서Dev

라우터에 선언 된 중첩 경로 목록을 얻는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전에서 쉼표로 구분 된 값을 만드는 방법은 무엇입니까?

분류에서Dev

ReactJS로 중첩 된 JSON에 액세스하는 방법은 무엇입니까?

분류에서Dev

임의의 깊이로 깊이 중첩 된 Hashtable에서 값을 검색하는 방법은 무엇입니까?

분류에서Dev

따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

분류에서Dev

Oracle에서 중첩 된 XML을 쿼리하는 방법은 무엇입니까?

분류에서Dev

Elixir에서 중첩 된 if 문을 피하는 방법은 무엇입니까?

분류에서Dev

중첩 된 개체에서 중첩 된 배열을 만드는 방법은 무엇입니까?

분류에서Dev

깊게 중첩 된 JSON 파일을 CSV로 변환하는 방법은 무엇입니까?

분류에서Dev

URLSession의 중첩 된 원시 JSON을 Vapor API로 보내는 방법은 무엇입니까?

분류에서Dev

ember로 중첩 된 json 응답을 처리하는 방법은 무엇입니까?

분류에서Dev

Retrofit 및 Jackson으로 중첩 된 JSON 배열을 읽는 방법은 무엇입니까?

분류에서Dev

신속하게 요청 매개 변수로 중첩 된 json을 보내는 방법은 무엇입니까?

분류에서Dev

중첩 된 json을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

분류에서Dev

반응에서 중첩 된 JSON을 렌더링하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

중첩 된 맵을 키별로 정렬하는 방법은 무엇입니까?

분류에서Dev

중첩 된 if 문을 switch 문으로 바꾸는 방법은 무엇입니까?

분류에서Dev

중첩 된 JSON을 직렬화하는 방법은 무엇입니까?

분류에서Dev

경로없이 중첩 된 문서의 값을 쿼리하는 방법은 무엇입니까?

분류에서Dev

중첩 된 딕셔너리에 동적으로 값을 추가하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트로 중첩 된 모델에 값을 전달하는 방법은 무엇입니까?

분류에서Dev

중첩 선택에서 중첩 된 두 값을 얻는 방법은 무엇입니까? mysql

Related 관련 기사

  1. 1

    dart flutter에서 json 객체로 중첩 된 json 문자열을 변환하는 방법은 무엇입니까?

  2. 2

    MongoDB에서 중첩 된 ref 배열을 채우는 방법은 무엇입니까?

  3. 3

    MongoDB가 중첩 된 json을 배열로 찾는 방법은 무엇입니까?

  4. 4

    MongoDB가 중첩 된 json을 배열로 찾는 방법은 무엇입니까?

  5. 5

    중첩 된 json을 Javascript에서 객체 배열로 변환하는 방법은 무엇입니까?

  6. 6

    중첩 된 Json에서 CSV로 목록을 추출하는 방법은 무엇입니까?

  7. 7

    Pandas에서 중첩 된 json을 행으로 폭발시키는 방법은 무엇입니까?

  8. 8

    라우터에 선언 된 중첩 경로 목록을 얻는 방법은 무엇입니까?

  9. 9

    중첩 된 사전에서 쉼표로 구분 된 값을 만드는 방법은 무엇입니까?

  10. 10

    ReactJS로 중첩 된 JSON에 액세스하는 방법은 무엇입니까?

  11. 11

    임의의 깊이로 깊이 중첩 된 Hashtable에서 값을 검색하는 방법은 무엇입니까?

  12. 12

    따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

  13. 13

    Oracle에서 중첩 된 XML을 쿼리하는 방법은 무엇입니까?

  14. 14

    Elixir에서 중첩 된 if 문을 피하는 방법은 무엇입니까?

  15. 15

    중첩 된 개체에서 중첩 된 배열을 만드는 방법은 무엇입니까?

  16. 16

    깊게 중첩 된 JSON 파일을 CSV로 변환하는 방법은 무엇입니까?

  17. 17

    URLSession의 중첩 된 원시 JSON을 Vapor API로 보내는 방법은 무엇입니까?

  18. 18

    ember로 중첩 된 json 응답을 처리하는 방법은 무엇입니까?

  19. 19

    Retrofit 및 Jackson으로 중첩 된 JSON 배열을 읽는 방법은 무엇입니까?

  20. 20

    신속하게 요청 매개 변수로 중첩 된 json을 보내는 방법은 무엇입니까?

  21. 21

    중첩 된 json을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

  22. 22

    반응에서 중첩 된 JSON을 렌더링하는 가장 좋은 방법은 무엇입니까?

  23. 23

    중첩 된 맵을 키별로 정렬하는 방법은 무엇입니까?

  24. 24

    중첩 된 if 문을 switch 문으로 바꾸는 방법은 무엇입니까?

  25. 25

    중첩 된 JSON을 직렬화하는 방법은 무엇입니까?

  26. 26

    경로없이 중첩 된 문서의 값을 쿼리하는 방법은 무엇입니까?

  27. 27

    중첩 된 딕셔너리에 동적으로 값을 추가하는 방법은 무엇입니까?

  28. 28

    자바 스크립트로 중첩 된 모델에 값을 전달하는 방법은 무엇입니까?

  29. 29

    중첩 선택에서 중첩 된 두 값을 얻는 방법은 무엇입니까? mysql

뜨겁다태그

보관