Tenho um valor Json abaixo em string groupsjasontext e gosto de analisar id, member.value, role.value usando JsonConverter.ParseJson. Como eu vou fazer isso ? Tentei mostrar via messagebox o campo id e estou recebendo o erro Type Mismatch
Set JsonData = JsonConverter.ParseJson(groupsjasontext)
tempName = JsonData("id")(0)
MsgBox (tempName)
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 3,
"startIndex": 1,
"itemsPerPage": 3,
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters"
],
"id": "d3094970-ce7e-4794-b9e2-f84817b7c820",
"meta": {
"resourceType": "Group",
"created": "2024-05-21T17:53:06.808Z",
"lastModified": "2024-05-21T17:53:06.808Z",
"location": "/api/v1/scim2/Groups/d3094970-ce7e-4794-b9e2-f84817b7c820"
},
"displayName": "AHI_VW_ALL_REGION",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters": {
"description": "View Mode ALL REGION"
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-roles",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters"
],
"id": "bef561ee-5a1e-420e-a1e\n4-4f624c96af6e",
"meta": {
"resourceType": "Group",
"created": "2024-07-25T14:17:53.215Z",
"lastModified": "2024-08-01T14:31:29.632Z",
"location": "/api/v1/scim2/Groups/bef561ee-5a1e-420e-a1e4-4f624c96af6e"
},
"displayName": "TEAM_TEST",
"members": [
{
"value": "f27dcbb9-df9a-46b2-b23a-3b35d5a8bdff",
"type": "User",
"display": "Test_FirstName1 TEST_Familyname1",
"$ref": "/api/v1/scim2/Users/f27dcbb9-df9a-46b2-b23a-3b35d5a8bdff"
}
],
"urn:sap:params:scim:schemas:extension:sac:2.0:group-roles": {
"roles": [
{
"value": "PROFILE:t.4:VIEW_USER",
"display": "VIEW_USER"
}
]
},
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters": {
"description": "Team Test"
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters"
],
"id": "1edd9227-c8de-486e-93f6-69396524c792",
"meta": {
"resourceType": "Group",
"created": "2024-05-21T17:51:49.808Z",
"lastModified": "2024-05-21T17:53:06.121Z",
"location": "/api/v1/scim2/Groups/1edd9227-c8de-486e-93f6-69396524c792"
},
"displayName": "AHI_VW_EURAM\n",
"urn:sap:params:scim:schemas:extension:sac:2.0:group-custom-parameters": {
"description": "View mode EURAM"
}
}
]
}
Usando JSonParser, os valores necessários podem ser extraídos da sua string JSON de amostra da seguinte maneira;
A
id
chave está associada a um único valor, não a um objeto ou array, entãodeveria estar
Achei muito mais fácil acessar especificamente diferentes partes de um objeto JSON individualmente em cada etapa. Isto ajudou a evitar a maioria dos problemas e confusões entre os diferentes objetos (Dicionários e Coleções). Eu uso essa referência o tempo todo, ela provou ser de grande ajuda.
Então, com base nesse conselho e usando a referência vinculada, criei o código de teste abaixo para mostrar como acessar diferentes partes da sua estrutura JSON e executar loops quando for apropriado.