我在向带有-c选项的psql函数传递一些json数据时遇到了问题。我还没有写这个函数,也不能修改它。我得到的使用说明是通过psql登录然后执行的
blah.function(('[{"thing":"value","other_thing":"other_value"}]'));
这是一个处理,但我需要执行它作为一个单一的抓取输出和操纵一些bash魔术。我尝试了各种方式来转义json数据,每次都会出现语法错误。
psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function(('[{"thing":"value","other_thing":"other_value"}]'));'
psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function((''[{"thing":"value","other_thing":"other_value"}]''));'
psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function((\'[{"thing":"value","other_thing":"other_value"}]\'));'
有谁能在这个星期一下午告诉我,我如何传递json数据?
1条答案
按热度按时间guicsvcw1#
问了又答。诀窍是翻转引号并转义json。见下文