COMO ACESSAR VARIÁVEL CONTENDO INFORMAÇÕES EM JSON

PORTER 17/09/2023 10:28:26
#501739
Olá pessoal,
Com o comando abaixo, a variável mun, contém informações formatadas em json, como fica o comando, para acessar as
informações dessa variável, como retorno, status_procedimento e nota_fiscal

var mun = JsonConvert.DeserializeObject(teste);

{
"retorno": {
"status_processamento": "3",
"status": "OK",
"nota_fiscal": {
"id": "143184589",
}
}

Windows Form, C#
WEBMASTER 17/09/2023 11:43:58
#501742
No teu caso, após transpor teste para mun , você ganha um object que conterá o reflexo das propriedades.
Ou seja,

mun.retorno.status
mun.retorno.nota_fiscal.id


Assim tambem funciona...

dynamic result = JsonConvert.DeserializeObject(movimento["resultado"].ToString());
string historico = result["historico"];
string datamovimento = result["datamovimento"];
string valor = result["valor"];
string natureza = result["natureza"];
string nrdoc = result["nrodocto"];
string nrMovimento = result["nromovimento"];

KERPLUNK 17/09/2023 17:04:59
#501744
A sugestão do WEBMASTER está correta, mas gostaria de apontar que o melhor no seu caso é entender sobre OOP. Você vai usar muito dela e essa sua dúvida é uma das partes básicas.
PORTER 18/09/2023 10:58:13
#501747
Olá,
Essa é a rotina que estou tentando implementar, a variável mun, contém os dados, mas não consigo acessar.
// Nessa linha, o que é movimento e resultado ?
dynamic result = JsonConvert.DeserializeObject(movimento["resultado"].ToString());

var client = new RestClient(apiUrl);
var request = new RestRequest(Method.POST);

request.AddParameter("token", apiKey);
request.AddParameter("id", id);
request.AddParameter("formato", "JSON");

IRestResponse response = client.Execute(request);

if (response.StatusCode == HttpStatusCode.OK)
{
string content = response.Content;
string teste = content;
var mun = JsonConvert.DeserializeObject(teste);

// Nessa linha, não consigo acessar os dados contidos na variavel mun
mun.

// VAI CRIAR O ARQUIVO json NESSA PASTA
string path = @"C:\TESTE\NFISCAL.json";

// CRIA-SE O ARQUIVO EM C:\TESTE\NFISCAL.json
using (var sw = File.CreateText(path))
{
sw.WriteLine(value: mun);
}

// Nessa linha, o que é movimento e resultado ?
dynamic result = JsonConvert.DeserializeObject(movimento["resultado"].ToString());

}
else
{
}
WEBMASTER 19/09/2023 11:10:55
#501750
Olha, dá um passo para trás, respira fundo e vai aprender OOP e lógica de programação.
Claramente você está copiando/colando código sem entender o que tá fazendo.
Antes de chegar em coisas tão complexas, resolva o simples para avançar nos problemas
PORTER 19/09/2023 14:54:50
#501751
Obrigado pessoal pela atenção, fiz dessa forma, e deu certo.

string content = response.Content;
dynamic result = JsonConvert.DeserializeObject(content);
string status_processamento = result.retorno.status_processamento;
string status_ = result.status;
Faça seu login para responder