Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
¿Cómo ordenar JSON en óxido?

¿Es posible ordenar JSON en lenguaje oxidado? Si es posible, ¿cómo?

Como éste:

 const headers = { 'checkout-account': '1234', 'checkout-algorithm': 'sha256', 'checkout-method': 'POST', 'checkout-nonce': '564635208570151', 'checkout-timestamp': '2018-07-06T10:01:31.904Z', }; const calculateHmac = (body=false, params) => { const hmacPayload = Object.keys(params) .sort() .map((key) => [key, params[key]].join(':')) .concat(body ? JSON.stringify(body) : '') .join('\n'); }; calculateHmac(false, headers);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Más o menos el mismo código en Rust:

 use itertools::Itertools; use std::collections::HashMap; fn main() { let headers = HashMap::from([ ("checkout-account", "1234"), ("checkout-algorithm", "sha256"), ("checkout-method", "POST"), ("checkout-nonce", "564635208570151"), ("checkout-timestamp", "2018-07-06T10,01,31.904Z"), ]); let hmac_payload = headers .keys() .sorted() .map(|key| format!("{}:{}", key, headers[key])) .join("\n"); println!("{hmac_payload}"); }

Enlace al parque

Como señaló @cdhowie, Rust le brinda la opción de ordenar los elementos por clave en lugar de ordenar solo las claves y luego realizar una búsqueda cada vez:

 let hmac_payload = headers .iter() .sorted_by_key(|item| item.0) .map(|item| format!("{}:{}", item.0, item.1)) .join("\n");

Como señaló @Caesar, usar BTreeMap en lugar de HashMap sería una solución más eficiente, ya que almacena elementos ordenados por sus claves, por lo que no necesitará ordenar elementos en absoluto.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda