json - json数据是否被编码有什么区别
问题描述
json_encode
在我放入数据库之前,这样做的目的是什么(而不是它变成了什么)
rating: {cleanliness: 3, publicFacility: 1, roomFacility: 2, security: 2}
成为这个
rating: "{"cleanliness":3,"publicFacility":1,"roomFacility":2,"security":2}"
json_decode
我认为这样做没有任何意义,因为在将其送回之前我需要再次这样做......有人可以清除我吗?
解决方案
不要将 json 编码的数据存储在数据库中。您以这种方式减轻了关系数据库的全部意义,并使搜索值成为一项昂贵的任务。我在您的示例中看到属性清洁度、公共设施、房间设施和安全性。这些应该是数据库中的列,因此您可以搜索“所有清洁度高于 3 的条目”之类的内容。它适用于 JSON 列类型,但比使用普通列更昂贵。
编辑:检查数据库条目的用例。如果您确定您永远不需要搜索或按编码属性排序,您可以存储编码为 json 字符串的数据。但是,如果您的数据库支持 JSON 列类型,则应该使用该类型,因为它允许在存储的 JSON 中进行搜索(但比在普通列中搜索更昂贵)。</编辑>
第二点:第二个代码被剪断(带引号)看起来像 json 的无效语法。
推荐阅读
- react-native - 使用 TextInput 反应原生 todo 列表
- c - 返回错误代码时批处理文件未打开正确的菜单选项
- ios - 如何在swift中用代码模拟点击?
- asp.net-mvc - 应用于控制器时,MVC 属性不适用于单个操作
- android - 如何在 Android Room 中创建部分索引
- java - 在 Android Studio 中进行 Java 编程时,如何将 \n 添加为字符串中的文本?
- c# - 子数组上的 C# LINQ OrderBy
- reporting-services - 如何在 SSRS 中求和“文本框中的 Tablix 列值”
- c++ - 事件(开始,完成),1 天的最大事件。c++中的性能问题
- amazon-web-services - AWS IAM 请求