如何解决SQL Server 2016-为什么我需要为我的select语句指定根元素
为什么需要在我的select语句中指定根元素?
我在下面的代码中谈论ROOT('data')
。
// GET api/Product
[HttpGet]
public async Task Get()
{
await sqlQuery.Sql(
@"select ProductID,Name,Color,Price,Quantity,JSON_VALUE(Data,'$.MadeIn') as MadeIn,JSON_QUERY(Tags) as Tags
from Product
FOR JSON PATH,ROOT('data')"
).Stream(Response.Body,EMPTY_PRODUCTS_ARRAY);
}
解决方法
可选的ROOT('array name')为FOR JSON PATH指定的数组指定名称。 ROOT与WITHOUT_ARRAY_WRAPPER是互斥的,只能指定1。用ROOT('data')查询的结果将类似于
{ "data": [ { ... } ]}
如果指定了WITHOUT_ARRAY_WRAPPER,则生成的JSON看起来像
{ "field1": "value",... }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。