【发布时间】:2018-10-15 07:23:09
【问题描述】:
我有一个如下所示的数据表,其中包含几列。数据表列之一的值为 json 数组 ( Contacts )。我想从列中访问name 属性。
Name ID Contacts
User1 1 [{ "id": 1, "name": "User3", } }]]
【问题讨论】:
-
数据库列不包含数组。很可能您的意思是
Contacts包含一个 JSON 字符串。使用 JSON.NET 或其他 JSON 序列化程序来读取内容。 -
您使用的是哪个数据库? SQL Server 2016+ 和 PostgreSQL 具有 JSON 函数,这意味着您可以只提取联系人姓名而不是整个对象。否则,您将不得不反序列化 JSON 字符串并读取
name值 -
它是一个带有 json 的数据表(转换为字符串)。
-
@PanagiotisKanavos 这不是真的。 Postgresql 有数组,但只有简单的一维。
-
@daremachine 什么不是真的? Postgres 支持 JSON 吗?这个数据看起来像 JSON?我们是否真的需要开始讨论 SQL、语言与每个供应商引入的自定义以及索引和查询多值字段的难易程度,即使它们可用?从而使多值列即使可用也有问题?