AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Codificación
  • Contenido de la variable Variant
  • Comprobar si un valor es NULL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Convierte una cadena JSON en una variable de tipo Variant.
sJZon is ANSI string = [
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
]

let jz = JSONToVariant(sJZon)
Sintaxis
<Result> = JSONToVariant(<JSON data>)
<Result>: Variant
Nombre de la variable de tipo Variant que contiene el resultado de la conversión.
<JSON data>: Cadena de caracteres ANSI codificada en ASCII de 7 bits + JSON o UTF-8
Cadena que contiene los datos en formato JSON.
Observaciones

Codificación

La codificación utilizada corresponde al estándar JSON:
  • codificación ASCII de 7 bits para los primeros 128 caracteres, es decir, los caracteres sin acentos
  • codificación JSON de los otros caracteres: "\u" seguido del código del carácter en formato hexadecimal de 4 bytes. Ejemplo: para el carácter "é" (código ASCII 233, código hexadecimal E9), la codificación corresponde a "\u00E9".

Contenido de la variable Variant

El contenido de la variable de tipo Variant depende del JSON utilizado. Puede corresponder a:
  • el valor Null
  • un tipo simple: entero, cadena, booleano, etc.
  • un array
  • un objeto complejo (tipo VariantMember, que corresponde a un array de miembros en el que cada miembro es un variant).

Comprobar si un valor es NULL

El valor "NULL" se utiliza a menudo en JSON.
Para comprobar el valor "NULL" de una variable de tipo Variant, es posible:
  • utilizar la propiedad Value de la variable Variant. Por ejemplo:
    v is Variant = JSONToVariant("{""m"":null}")
    IF v.m..Value = Null THEN Trace("NULL")
  • comprobar directamente el valor NULL. Por ejemplo:
    v is Variant = JSONToVariant("{""m"":null}")
    IF v.m = Null THEN Trace("NULL")
Componente: wd290xml.dll
Versión mínima requerida
  • Versión 19
Esta página también está disponible para…
Comentarios
Navegar nos dados de um json
js is JSON
FOR i = 1 _TO_ js..Member..Count
js..Member[i]..Name
END
Boller
23 10 2023
exemplo jsontovariant
https://windevdesenvolvimento.blogspot.com/2021/05/dicas-3325-windev-webdev-mobile.html
https://youtu.be/MQ7SrcjV33E
EDT_retorno=""
S_url is string="https://economia.awesomeapi.com.br/json/last/USD-BRL"
IF HTTPRequest(S_url) THEN
EDT_retorno=UTF8ToAnsi(HTTPGetResult())
let json_dados=JSONToVariant(EDT_retorno)
FOR EACH json_linha OF json_dados..Member
FOR EACH json_linha_Detalhe OF json_linha
IF json_linha_Detalhe..Name="high" THEN
EDT_dolar=json_linha_Detalhe..Value
END
END
END
END
amarildo
11 05 2021
Video Json
bom dia
https://youtu.be/WkltQUt_Bak
https://windevdesenvolvimento.blogspot.com/2019/07/dicas-2204-windev-webdev-mobile-json-6.html
// Youtube Amarildo Matos
s_json_dados is string=fLoadText(EDT_ARQUIVO_JSON)
//ESSA LINHA DIFERENTE
let variavel_json=JSONToVariant(s_json_dados)
//ESSA LINHA DIFERENTE
TableDeleteAll(TABLE_JSON)
FOR nNCONTADOR=1 TO variavel_json..Count
nNOCORRENCIA is int=TableAddLine(TABLE_JSON)
TABLE_JSON[nNOCORRENCIA].COL_SHORT_DESCRIPTION=variavel_json[nNCONTADOR].short_description
TABLE_JSON[nNOCORRENCIA].COL_PRICE=variavel_json[nNCONTADOR].price
TABLE_JSON[nNOCORRENCIA].COL_STOCK_QUANTITY=variavel_json[nNCONTADOR].stock_quantity
END

amarildo
18 07 2019
Video JSONToVariant
https://youtu.be/ZC3G1PrDN9g

https://windevdesenvolvimento.blogspot.com/2019/05/dicas-2107-windev-webdev-mobile-json-4.html

// BTN_LER_SJON
TableDeleteAll(TABLE_CLIENTE)
vTeste is Variant
vTeste=JSONToVariant(EDT_retorno)
FOR EACH indice OF vTeste
TableAddLine(TABLE_CLIENTE,indice.clienteid,indice.nome)
END

amarildo
13 05 2019

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local