Saltar al contenido

Convertir un Json::Value a std::string?

Contamos con tu apoyo para difundir nuestros escritos acerca de las ciencias informáticas.

Solución:

Puede usar un Json::Writer para hacer exactamente esto, ya que asumo que desea guardarlo en algún lugar para que no desee una salida legible por humanos, su mejor opción sería usar un Json::FastWriter y luego puede llamar al write con el parámetro de su Json::Value (es decir, su raíz) y luego eso simplemente devuelve un std::string al igual que:

Json::FastWriter fastWriter;
std::string output = fastWriter.write(root);

Json::Writer está en desuso y Json::StreamWriterBuilder en su lugar debe utilizarse, como se indica en la documentación de Json::Writer.

Json::writeString escribe en un stringstream y luego devuelve un string:

Json::Value json = ...;
Json::StreamWriterBuilder builder;
builder["indentation"] = ""; // If you want whitespace-less output
const std::string output = Json::writeString(builder, json);

Felicitaciones a la respuesta de cdunn2001 aquí: ¿Cómo obtener valores JsonCPP como cadenas?

También puede usar el método toStyledString().

jsonValue.toStyledString();

El método “toStyledString()” convierte cualquier valor a un formato string. Ver también el enlace: doc para toStyledString

Sección de Reseñas y Valoraciones

Te invitamos a añadir valor a nuestra información añadiendo tu experiencia en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *