我正在获取JSON文件,但每个文件都有一个代码/ ID,在开头 无论代码/ ID如何变化,我都试图以标准方式裁剪字符串。
所以这些是2个JSON文件:
stdin
我找不到找到第一次出现的“{”的方法,并将其包含在新字符串中,该字符串也将包含其余的JSON字符串。
在JAVA中,它会像这样,但我需要它在PHP中:a:12{/*JSON DATA HERE*/}
a:130 {/*JSON DATA HERE*/}
a:1 {/*JSON DATA HERE*/}
我怎么能在PHP中做到这一点?
答案 0 :(得分:2)
这似乎是一个PHP序列化数组(通过serialize / unserialize)而不是JSON。
PHP使用a:<count>{...}
来表示其格式的序列化数组。
如果您信任数据(即不是用户提交但由受信任的应用程序生成),请不要自行解析并使用反序列化。< / p>
您永远不应该对用户提交的数据使用unserialize
而无法独立验证的原因是它能够创建用户特定选择的对象,并且如果对象定义{{1它是might be able to coerce the object into performing any operation the attacker want。这也是反序列化手册页上有大量警告的原因。