AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / 
  • Codificación
  • Contenido de la variable Variant
  • Comprobar si un valor es NULL
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
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 para otros caracteres: "\u" seguido del código del carácter en formato hexadecimal de 4 bytes. Por ejemplo, el carácter "é" (código ASCII 233, código hexadecimal E9) se codificaría como "\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: int, string, boolean, 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: wd300xml.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: 05/06/2025

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