比较两个 json 值是否相等

Compare two json values for equality

(请注意,这是使用 BigQuery 中的预览 JSON 功能。)

有没有一种简单的方法可以递归地比较两个 json 值以查看它们是否相等,忽略键顺序,例如:

{a: 1, b:2}    ===      {b:2, a:1}

举个例子:

WITH tbl AS (
    SELECT JSON '{"a": 1, "b": 2}' as a, JSON '{"b": 2, "a": 1}' as b
) SELECT a,b, a=b?? FROM tbl

试试下面

SELECT a,b, TO_JSON_STRING(a) = TO_JSON_STRING(b) 
FROM tbl     

结果