【问题标题】:How to unserialize serialized data in php in Flutter?如何在 Flutter 中反序列化 php 中的序列化数据?
【发布时间】:2020-12-27 12:52:28
【问题描述】:

我有一些像这样的 php 语言的序列化数据。

a: 1: {s: 7: "picture"; s: 13: "Free Shipping";}

我想让这些数据有意义并在 Flutter 中使用(比如 json)。所以我想在flutter中使用php反序列化方法。我可以手动执行此操作,但可能会导致小错误。有什么方法可以推荐吗?

【问题讨论】:

  • PHP 序列化格式不能移植到其他语言,除非你创建自己的解析器来解析它,见内部code here。我建议您使用广泛使用的格式,如 JSON、XML 等。
  • 如果您无法更改格式,您应该使用 PHP 将其反序列化并转换为另一种格式。因为序列化数据可能包含仅在 PHP 中有效的对象的状态。
  • 感谢您的回复@ammar-faizi,我想我必须通过字符串手动访问数据
  • 而其他格式应该是JSON,看看json_encode()和json_decode()函数。

标签: php flutter serialization


【解决方案1】:

我认为这会有所帮助

print_r(unserialize('a: 1: {s: 7: "picture"; s: 13: "Free Shipping";}'));

【讨论】:

  • 但目前我无权更改 php 代码
  • 这行不通,因为序列化的字符串是 not JSON 格式。
  • 那不是 JSON 格式,你不能使用json_decode 来反序列化它。这是正确的功能php.net/manual/en/function.unserialize.php
  • 对不起,我第一次没有准备好这个,我已经解决了我不好的答案。
猜你喜欢
  • 1970-01-01
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 2020-08-24
  • 2019-04-26
相关资源
最近更新 更多