如何计算 JSON 字符串中的节点数

Har*_*a W 2 t-sql sql-server json

有没有办法计算JSONSQL中a中的节点数。

{   
 "File":[  
  {  
     "ID":1,
     "Fragment":"Frag1"
  },
  {  
     "ID":2,
     "Fragment":"Frag2"
  },
  {  
     "ID":3,
     "Fragment":"Frag3"
  }]
}
Run Code Online (Sandbox Code Playgroud)

有没有办法计算File节点下的子元素数量?

根据上面的例子,答案应该是 3。

Zoh*_*led 5

假设 SQL Server 版本为 2016 或更高版本,
您可以使用OPENJSONselect count(*)

DECLARE @Content varchar(500) = '{   
 "File":[  
  {  
     "ID":1,
     "Fragment":"Frag1"
  },
  {  
     "ID":2,
     "Fragment":"Frag2"
  },
  {  
     "ID":3,
     "Fragment":"Frag3"
  }]
}';

SELECT COUNT(*)
FROM OPENJSON(@Content, N'$.File')
Run Code Online (Sandbox Code Playgroud)

结果: 3

DB<>Fiddle上观看现场演示