如何在mysql字段中保存json字符串

时间:2014-05-20 08:00:25

标签: php mysql

我有一个带有文本字段的表。我收到如下字符串:

“value”:“{\”airwayBills \“:[\”84498761 \“],\”dockets \“:[\”1652395 \“],\”error \“:false,\”muditaError \“ :[{\“actionType \”:\“docket \”,\“docketNo \”:\“1652395 \”,\“errorMessage \”:\“没有错误\”,\“pieceList \”:null,\ “量\”:\ “1 \”}],\ “muditaManifestExtra \”:\ “未知\”,\ “thingDetails \”:[{\ “航空公司\”:\ “未知\”,\ “bookingDate \” :\“19-05-2014 13:03:15 + 0530 \”,\“currentPiecesDelivered \”:\“0 \”,\“currentPiecesManifested \”:\“1 \”,\“destination \”:\“印度政府\”,\ “飞行\”:\ “未知\”,\ “inScannedPieces \”:[],\ “locationId \”:\ “MUDDELHUB1 \”,\ “模式\”:\ “空\”,\ “号码\”:\ “1652395 \”,\ “序数\”:\ “0 \”,\ “原点\”:\ “DEL \”,\ “outScannedPieces \”:[],\ “量\”: \“1 \”,\“recipientEmailId \”:\“Unknown \”,\“serviceProvider \”:\“Unknown \”,\“shipper \”:\“Vector E Commerce Pvt。有限公司\ “\ ”thingType \“:\ ”案卷\“,\ ”totPiecesManifested \“:\ ”1 \“ \ ”totalPiecesDelivered \“:\ ”0 \“,\ ”重量\“:\” 11 \ “}]}”,

此值正确存储在表中的字段内,但是当我尝试获取此值并将其保存在另一个表的另一个字段中时,则会出现一些值,如“airwayBills”:[\“84498761 \”]存储为“airwayBills”:[“0”],这会导致数据丢失。还有一种奇怪的行为是,这种情况随机发生,只有一些记录。一些记录正确添加。为了保存到另一个字段,我只是将字符串括在单引号中以保存字符串。

请帮助如何将其保存在Mysql的单个字段中。请注意,上面的值是在第一个表上的GROUP_CONCAT查询之后发生的。

提前致谢

1 个答案:

答案 0 :(得分:0)

将变量名称$ json_string视为包含给定状态的json(在帖子中),在尝试将其插入数据库之前尝试stripslashes

这是一个额外的问题,你是使用字符串连接手动构建json数组还是使用php数组和json_encode? (第二个会让你的事情变得更容易,因为当你需要添加在第一个提到的查询之后获得的json时,你可以只执行json_encode和你的完成)