Como obter um valor específico de Json usando SelectToken

Asit Sahoo

Eu tenho um JSON como este

{
  "Customer": {
    "$type": "Dictionary`2",
    "Id": "6448DE37E2F3D9588118A1950"
  },
  "Databases": [
    {
      "$type": "Pime",
      "Id": 1,
      "Name": "Peter",
      "MobNo": 78877629,
      "PAN": "SAKKJKJ",
      "Defaulter": true,
    },
    {
      "$type": "Pime",
      "Id": 2,
      "Name": "James",
      "MobNo": 58277699,
      "PAN": "NAQKJKJ",
      "Defaulter": false,
    },
    {
      "$type": "Pime",
      "Id": 3,
      "Name": "Norton",
      "MobNo": 38877699,
      "PAN": "TAKKJKJ",
      "Defaulter": true,
    },
  ]
}

Estou usando um token para selecionar o nó e retornar as informações do cliente cujo Id = 2

Meu código é assim:

StreamReader r = new StreamReader("C:\TestJson\Test.db");
string json = r.ReadToEnd();
JObject o = JObject.Parse(json);
JToken result = o.SelectToken("$.Databases[?(@.Id == '2')]");

Mas estou obtendo o resultado como nulo. Estou usando o token errado no método SelectToken ()?

Prasad Telkikar

Em primeiro lugar, o JSON fornecido é inválido, no databasevalor da matriz de Namee as PANchaves devem ser do tipo string. Você está faltando "(perguntas duplas) no json acima.

Segundo e mais importante, o tipo de Idé um inteiro e em seu caminho Json você está tentando pesquisar com o tipo de string '2', ou seja , tentar pesquisar Idpor inteiro sem quoute funcionará.

//No single qoutes for 2.
JToken result = o.SelectToken("$.Databases[?(@.Id == 2)]");

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como obter um valor específico de um objeto JSON

Como obter o valor de um campo específico do token JSON usando C #?

Como obter um valor específico de json

Como obter um valor específico de JSON

Como concateno um valor de string dinâmico usando Groovy para resposta JSON depois de ser analisado para obter um valor de nó específico em JSON

Como concateno um valor de string dinâmico usando Groovy para resposta JSON após ser analisado para obter um valor de nó específico em JSON

Como obter um valor específico usando node js

Como obter um valor de célula específico de uma tabela usando o Protractor

Como obter o id de push de um valor específico no android usando o firebase

Como obter o último valor de um id específico em uma matriz usando javascript?

como obter um valor específico de uma frase usando uma expressão regular em php

como obter um valor específico de uma string usando uma expressão regular

Como obter um valor de string específico usando REGEX em PHP

Como posso obter o valor de um item específico usando XPath?

como posso obter um valor específico do banco de dados usando o modelo laravel php

como obter um valor de nó filho específico em xml usando C #

como obter o valor de um padrão grep específico usando awk

Como obter um valor específico de um dicionário

Como cortar a matriz JSON para obter um valor específico

Como obter um valor específico do array JSON MySQL

Como obter um valor json específico com regex

Como cortar a matriz JSON para obter um valor específico

Como obter um valor de string específico de uma resposta json do firebase

como obter um valor de objeto específico dentro de jquery da string json

Como obter um valor de chave json específico do objeto de resposta

como obter um valor de objeto específico de uma matriz json aninhada

Como obter um valor específico de resultado de resposta

Como obter um valor de campo específico da resposta json

Como obter um valor específico de json com tags semelhantes com T-SQL