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.