与序列化数组相比,在MySQL数据库中存储JSON数据的优点和缺点是什么?
发布于 2009-08-20 15:12:47
可移植性: Winner JSON。JSON在更广泛的平台上都受支持,而PHP反序列化(据我所知)只受PHP支持。虽然可以用任何语言解析这两种格式,但JSON有更多的预构建库。
未来的证明: Winner JSON。JSON是一个“标准”,在这个意义上,Javascript是一个标准,并且在未来不太可能改变。PHP小组没有对序列化格式的未来做出任何承诺,虽然它在未来不太可能改变,但由单个小组控制格式的事实意味着您可能会得到无法读取的未来数据。
Fidelity:赢家PHP。PHP序列化将允许您使用原生PHP数据类型存储数据,包括由自定义类定义的对象。JSON只允许你存储泛型基元类型、基元类型列表(“数组”)和键/值对对象。如果您正在开发PHP应用程序,PHP序列化可能会在这里提供一些优势。
文件大小: JSON在这方面略有优势,因为PHP当前的序列化格式更加冗长(因为它存储了更多信息)。
性能:谁知道呢,这取决于个人资料。
结论:除非有令人信服的理由使用PHP序列化,否则请使用JSON。
发布于 2009-08-20 14:58:32
JSON是更可移植的,即你可以更容易地从不同的语言等读/写它。如果你使用PHP序列化数组,你将只能很容易地使用PHP来访问它。
发布于 2009-08-20 15:02:02
在SO上有很多这样的问题。
Preferred method to store PHP arrays (json_encode vs serialize)
简而言之: JSON更适合于简单数据,但它没有区分对象和关联数组之间的区别。序列化的数据更大。
https://stackoverflow.com/questions/1306740
复制相似问题