我有一个不带分隔符','的json字符串。如何使用jq解析?
$echo '{"access_token":"XXXX""expires_in":300"token_type":"Bearer"}' | jq -r .access_token
上面的行给我下面的错误:-
parse error: Expected separator between values at line 1
我知道问题是因为提供的JSON字符串未用逗号分隔。但这就是我从服务器得到的响应。我如何解析这样的字符串?我想检索键“ access_token”的值
如果您知道访问令牌永远不包含引号,则可以对sed
使用正则表达式。
echo '{"access_token":"XXXX""expires_in":300"token_type":"Bearer"}' |
sed 's/"access_token":"\([^"]*\)/\1/'
\(
和\)
之间的捕获组捕获引号之间的字符串,替换字符串中的\1
提取它。