将Curl函数的数据传递给Bash上的Python程序

将Curl函数的数据传递给Bash上的Python程序,python,bash,curl,dictionary,Python,Bash,Curl,Dictionary,所以我试图从这个AsanaAPI上列出的curl函数中提取数据。 . 问题是我收到的数据看起来像这样 {"data":[{"id":"1000","name","first ABC thing"},{"id":"1001","name","second ABC thing"},{"id":"1002","name","third ABC thing"}]} ABC python work.py $READFILE import sys print(

所以我试图从这个AsanaAPI上列出的curl函数中提取数据。 . 问题是我收到的数据看起来像这样

  {"data":[{"id":"1000","name","first
  ABC
  thing"},{"id":"1001","name","second
  ABC
  thing"},{"id":"1002","name","third
  ABC
  thing"}]}
  ABC
  python work.py $READFILE
  import sys
  print(sys.argv);
{“数据”:[{“id”:“1000”,“名称”,“第一件事”},{“id”:“1001”,“名称”,“第二件事”}, {“id”:“1002”,“名称”,“第三件事”}]}

这是一本组织得非常好的很棒的词典,但我无法实际使用它,因为bash不承认这是一本词典。它只是将其作为字符串读取。我非常熟悉python,所以我想如果我将它传递给python程序,它会将它识别为字典,但它不会。请帮忙。我所需要的只是能够将数据建立为字典和数组。在那之后,我可以随心所欲地使用它

这就是我目前所拥有的

   READFILE=$(curl -u $KEY: https://app.asana.com/api/1.0/projects)
   echo $READFILE
但是,如果我想做这样的事情

  for dict in ${READFILE["data"]};
     do echo $dict
  echo ABC
  done
bash returns按空格分隔数据,因此如下所示

  {"data":[{"id":"1000","name","first
  ABC
  thing"},{"id":"1001","name","second
  ABC
  thing"},{"id":"1002","name","third
  ABC
  thing"}]}
  ABC
  python work.py $READFILE
  import sys
  print(sys.argv);
类似地,如果我将其传递给像这样的外部python脚本

  {"data":[{"id":"1000","name","first
  ABC
  thing"},{"id":"1001","name","second
  ABC
  thing"},{"id":"1002","name","third
  ABC
  thing"}]}
  ABC
  python work.py $READFILE
  import sys
  print(sys.argv);
我试着这样打印

  {"data":[{"id":"1000","name","first
  ABC
  thing"},{"id":"1001","name","second
  ABC
  thing"},{"id":"1002","name","third
  ABC
  thing"}]}
  ABC
  python work.py $READFILE
  import sys
  print(sys.argv);
我去拿

  {"data":[{"id":"1000","name","first
帮助我让Python接收实际的数据结构,而不仅仅是在空白处拆分的字符串。

asana有一个函数,因此您可以使用Python来实现这一切:

# basic auth
client = asana.Client.basic_auth('ASANA_API_KEY')

# oauth 2 
client = asana.Client.oauth(
client_id='ASANA_CLIENT_ID',
client_secret='ASANA_CLIENT_SECRET',
redirect_uri='https://yourapp.com/auth/asana/callback'
)
在上面的链接中有许多例子