2016-07-28 197 views
0

使用由供应商提供的API我有格式化那样的JSON回复:双引号和反斜线JSON回复

{"d":"{\"IdProduct\":0,\"Status\":0,\"Errors\":[\"B_MESSAGE_INVALID_REQUIRED_FIELDS\"]}"} 

这导致问题试图与JMS(PHP),因为内容的反序列化时d不被视为对象而是字符串。

我试图创建JSON从PHP与阵列和json_encode()的一切与反序列化方法的伟大工程:

{"d":{"IdProduct":123456,"Status":1,"Errors":["B_MESSAGE_INVALID_REQUIRED_FIELDS"]}} 

是否可以去除无用的反斜线和报价从我身边?似乎供应商不能改变格式。

回答

0

它看起来像API返回一个JSON字符串编码成一个JSON对象。意思是,你首先需要解码“外部”对象,然后JSON解码$obj['d'],因为它是一个JSON字符串。

json_decode(json_decode($json)->d) 

显然有人应该修复API以不返回双重编码的JSON。

相关问题