如何在json字符串中存储json字符串?

pcww981p  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(558)

我使用jsoncpp以json格式存储信息。我现在需要在另一个json字符串中存储一个json字符串。。。换句话说,我需要在一个项目中存储一个子项目。
使用jsoncpp生成json字符串,我得到这个。。。

{"id":"1","name":"Advil","sub_item":"{\"id\":\"2\",\"name\":\"Liquid Gel Advil\"}\n"}

它在运行时工作得非常好。但是,当我的程序将此信息保存到mysql数据库(在退出时)并在我重新启动程序时将其加载回时,它会从mysql数据库加载相同的json字符串,但现在看起来是这样的。。。

{"id":"1","name":"Advil","sub_item":"{"id":"2","name":"Liquid Gel Advil"}"}

这是一个无效的json字符串。我不知道为什么会这样,有人能告诉我到底发生了什么。。。
我的mysql查询字符串如下:

UPDATE json_string_test SET jsonstring='{"id":"1","name":"Advil","sub_item":"{\"id\":\"2\",\"name\":\"Liquid Gel Advil\"}\n"}';
x8goxv8g

x8goxv8g1#

经过进一步研究,我发现fastwriter被贬低了,streamwriterbuilder是推荐的作家。但是,它仍然产生了与fastwrtier相同的问题。。。。
我试着通过以下操作来操纵一个补丁。。。
1) 在保存到数据库之前,我只替换了子json字符串(id为2)中与\“to\”匹配的所有子字符串。
2) 加载json字符串后,我只替换子json字符串(id为2)中匹配\“to\”的所有子字符串。
我不明白为什么我要这么做,所以如果有人有更好的解决方案或解释。。。我很想听。

a64a0gku

a64a0gku2#

我认为您需要转置最后2个字符(假设您发布的字符串是逐字的)。你有 Advil\"}\n"} 但我认为你需要 Advil\"}\n}"

相关问题