Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用JSONcpp替换JSON文件中的单个值_C++_File_Ofstream_Jsoncpp - Fatal编程技术网

C++ 用JSONcpp替换JSON文件中的单个值

C++ 用JSONcpp替换JSON文件中的单个值,c++,file,ofstream,jsoncpp,C++,File,Ofstream,Jsoncpp,有没有办法用JSONcpp更改已经存在的JSON文件中的单个值? 我想保留文件中现有的格式(注释、空格、换行符) 示例:在C:/test.json中找到键为“test_boolean”的值,并将其值设置为“false”,其他内容保持原样 我尝试使用Json::StyledStreamWriter,包括我想要更改的值的根和值本身。在第一种情况下,使用新值重写了整个文件,但没有保留任何格式或注释。在第二种情况下,整个文件中只写入了“false”。根据我的测试/研究,不可能使用JSONcpp修改JSO

有没有办法用JSONcpp更改已经存在的JSON文件中的单个值? 我想保留文件中现有的格式(注释、空格、换行符)

示例:在C:/test.json中找到键为“test_boolean”的值,并将其值设置为“false”,其他内容保持原样


我尝试使用Json::StyledStreamWriter,包括我想要更改的值的根和值本身。在第一种情况下,使用新值重写了整个文件,但没有保留任何格式或注释。在第二种情况下,整个文件中只写入了“false”。

根据我的测试/研究,不可能使用JSONcpp修改JSON中保持当前格式的单个值

@Cornstalks我已经尝试使用Json::StyledStreamWriter,包括我想要更改的值的根和值本身。在第一种情况下,使用新值重写了整个文件,但没有保留任何格式或注释。在第二种情况下,整个文件中只写了“false”。这只是一个建议,因为我自己没有尝试过。您是否可以尝试读取JSON,在更改值时将其存储在本地,然后重写一个新的输出文件,该文件与输入文件相同,但有一个值发生了更改?在某些情况下,注释被丢弃。这个错误已经被修复了。