Вероятно, это не работает, потому что, как вы сказали, вы не используете элемент формы. Из jquery docs :
Событие отправки отправляется элементу, когда пользователь пытается отправить форму. Он может быть присоединен только к элементам формы
Вы можете использовать функцию, указанную вашим событием onclick
onClick="newNet()"
, для проверки данных.
Ниже приведено описание BigQuery Standard SQL
#standardSQL
WITH t AS (
SELECT "1234" AS row_id, '{ "id" : "123" , "items" : [ { "quantity" : 1 , "product" : { "id" : "p1" , "categories" : [ "cat1","cat2","cat3"] }}] }' AS parts
)
SELECT row_id, REPLACE(_categories, '"', '') _categories
FROM t, UNNEST(SPLIT(REGEXP_EXTRACT(
JSON_EXTRACT(parts, '$.items'),
r'"categories":\[(.+?)]'))
) _categories
, которое дает ожидаемый результат
Row row_id _categories
1 1234 cat1
2 1234 cat2
3 1234 cat3
Обновление
blockquote>Выше решение было в основном сфокусировано на исправление регулярного выражения, используемого в экстракте - но не рассматривается более общий случай наличия нескольких продуктов. Ниже решение рассматривает такой более общий случай
#standardSQL WITH t AS ( SELECT "1234" AS row_id, '''{ "id" : "123" , "items" : [ { "quantity" : 1 , "product" : { "id" : "p1" , "categories" : [ "cat1","cat2","cat3"] }}, { "quantity" : 2 , "product" : { "id" : "p2" , "categories" : [ "cat4","cat5","cat6"] }} ] }''' AS parts ) SELECT row_id, REPLACE(category, '"', '') category FROM t, UNNEST(REGEXP_EXTRACT_ALL(parts, r'"categories" : \[(.+?)]')) categories, UNNEST(SPLIT(categories)) category
с результатом
Row row_id category 1 1234 cat1 2 1234 cat2 3 1234 cat3 4 1234 cat4 5 1234 cat5 6 1234 cat6