Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
Combine json stat para devolver tanto la identificación como la etiqueta/valor

Quiero que regionValue regrese como la clave del objeto Region, pero en su lugar devuelve nulo.

Mi objetivo es conseguir:

 { value: 1122000, Tid: '2020', ContentsCode: 'Samlet inntekt, median (kr)', HusholdType: 'Par med barn 0-17 år', Region: 'Ringerike', regionValue:"3007" },

pero esto es lo que he intentado hasta ahora:

 const JSONstat = require("jsonstat-toolkit"); var url="https://data.ssb.no/api/v0/dataset/49678.json?lang=no"; function test(){ return JSONstat(url).then(main); } async function main(j){ var ds=j.Dataset(0); let y="Region" let array = ds.toTable( { type : "arrobj" } ,function( d ){ if ( d.value!==null){ d.regionValue = ds.Dimension(y).Category(d.Region).id return d; } }) console.log(array) } test()
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece que la dimensión Región solo está disponible como un objeto con ID -> Label , por lo que no puede buscar directamente por nombre de Región para obtener la ID.

Como solución alternativa, puede crear un nuevo objeto invertido con Label => ID y usarlo para recuperar el Valor de región de la Región.

Entonces en código

  1. Declare una variable global que contendrá su nuevo objeto
 assoc = {}
  1. en su método main , repita todas las Regiones y complete su objeto invertido

Tenga en cuenta que las etiquetas mostraban una fecha, por lo que usé split para eliminar información inútil que no permitiría una coincidencia directa en el nombre de la región.

 for(const key in ds.__tree__.dimension.Region.category.label) { let label = ds.__tree__.dimension.Region.category.label[key].split('(')[0].trim() assoc[label] = key }
  1. En su devolución de llamada que se ejecuta para cada elemento, lea la ID del objeto assoc que acaba de completar y asigne su valor a d.regionValue
 if (d.value !== null) { d.regionValue = assoc[d.Region] return d; }

Cuando emita su matriz, se mostrará así

 0: ContentsCode: "Samlet inntekt, median (kr)" HusholdType: "Alle husholdninger" Region: "Halden" Tid: "2020" regionValue: "0101" value: 616000

Aquí está el guión completo

 var url = "https://data.ssb.no/api/v0/dataset/49678.json?lang=no"; assoc = {} function test() { return JSONstat(url).then(main); } async function main(j) { var ds = j.Dataset(0); for(const key in ds.__tree__.dimension.Region.category.label) { let label = ds.__tree__.dimension.Region.category.label[key].split('(')[0].trim() assoc[label] = key } let array = ds.toTable({ type: "arrobj" }, function (d) { if (d.value !== null) { d.regionValue = assoc[d.Region] return d; } }) console.log(array) } test()
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda