Этот Json принимается как запрос POST. В настоящее время Я хочу получить значение text
ключ каждой записи в actions
массивне удалось получить атрибут json в запросе POST
Я использую бутылку Питона для получения запроса. , чтобы получить значение требуемого атрибута, я сделал это
word = request.forms.get('[attachments][actions][0][text]')
Но это не печатает требуемое значение.
{
"attachments": [
{
"title": "XYZ",
"title_link": "EDWE",
"text": "dxjhvgebndm",
"fields": [
{
"title": "Food",
"value": "$20",
"short": true
}
],
"actions": [
{
"name": "chess",
"text": "Approve",
"type": "button",
"value": "chess",
"style": "primary"
},
{
"name": "maze",
"text": "Decline",
"style": "danger",
"type": "button",
"value": "maze"
},
{
"name": "war",
"text": "More details",
"style": "default",
"type": "button",
"value": "war",
"confirm": {
"title": "Are you sure?",
"text": "Would you like to see more details of your expense?",
"ok_text": "Yes",
"dismiss_text": "No"
}
}
],
"image_url": "",
"thumb_url": "https://i.imgsafe.org/cf40eef.png",
"footer": "fghj",
"footer_icon": "https://i.imgsafe.org/cf2e0eef.png",
"ts": 1475057533
}
]
}
Примечание: Я получаю полный JSON, проблема заключается в выборе правильного атрибута.
EDIT Благодаря этому я получаю POST
просьбой обimport json
from bottle import route, run, request
import urllib
@route('/ocr_response', method='POST')
def ocr_response():
body = request.body.read()
word = request.forms.get('[attachments][actions][0][text]')
print word
print body
if __name__ == "__main__":
run(host='0.0.0.0', port=80, debug=True)
вложение является массивом, но прибудут кажется совершенно неправильным так или иначе –
Вы пытаетесь читать JSON из тела? Почему вы используете 'request.forms.get' вместо того, чтобы разбирать' body' как JSON? –
О, черт возьми, я мог бы непосредственно разобрать тело как JSON серьезно мой плохой – Guru