@oflyhigh 你的SQL没有问题,可能是你的python脚本有点小问题。
如果运行以下程序,会看到和你所说一样的输出:
cur.execute("SELECT title, JSON_QUERY(json_metadata, '$.tags') as tags FROM Comments WHERE author= 'oflyhigh' and title like N'%区块链%'")
rows = cur.fetchall()
for row in rows: print(row)
其实,问题就出在哪个输出语句了,稍作改动:
for row in rows: print(row[0],row[1])
这是输出结果:
我也曾经文青过,18年前写的小诗 《花儿》,学laoyao,咱也放到区块链上 ["literature","poem","cn"]
使用PHP查询STEEM区块链 / Using PHP to query the STEEM blockchain ["cn","cn-programming","steemdev","php","steem"]
珍惜羽毛 / STEEM区块链忠实的记录你的操作 / 获得共同操作账户的真实操作者 ["cn","cn-programming","steem","steemit"]
YY 一个基于STEEM区块链的聊天工具 ["cn","cn-programming"]
STEEM区块链忠实的记录你的言行&操作 ["cn"]
谢谢答复
不过你这样只不过是把tags列表当成字符串输出了 😄,尽管看起来是列表的样子
我想要的是一个列表
你试着输出row[1][0]试试就明白了
对MSSQL这个功能不太了解。不过从数据库那里不应该直接返回object,因为object是和具体编程语言相关的。你想要得到json object也没问题,用下面的python code:
for row in rows: print(row[0],json.loads(row[1]),json.loads(row[1])[0])
Json.loads我帖子里写了😷
哈哈,没太注意。mssql的这个json功能不太清楚。也许就不支持直接返回列表吧。对我来说,能拿到json字符串就够了。