정확히 JSON이 아니지만, dumps
메서드를 통해 JSON 문자열로 변환 할 준비가 된 Python 개체 (목록, 사전 등) ... json
라이브러리입니다. XMLRPC로 작업하는이 Python 콘솔의 동작을 살펴보십시오. 먼저 쿼리를 만들었습니다 (search_read
메서드 사용). 그런 다음 배열 (Python 객체) 인받은 결과의 유형을 묻습니다. 이 Python 객체를 JSON 문자열로 변환하려면 dumps
메서드를 사용합니다. 거기에는 JSON이 있습니다.
>>> res = models.execute_kw(
db,
uid,
password,
'res.partner',
'search_read',
[[
['is_company', '=', True],
['customer', '=', True]
]],
{
'fields': ['name', 'country_id', 'comment'],
'limit': 5
}
)
>>> res
[
{
'comment': False,
'country_id': [69, 'Spain'],
'id': 1665,
'name': 'Customer A'
}, {
'comment': False,
'country_id': [69, 'Spain'],
'id': 5799,
'name': 'Customer B'
}, {
'comment': False,
'country_id': [69, 'Spain'],
'id': 1946,
'name': 'Customer C'
}, {
'comment': False,
'country_id': [69, 'Spain'],
'id': 1367,
'name': 'Customer D'
}, {
'comment': False,
'country_id': [69, 'Spain'],
'id': 2066,
'name': 'Customer E'
}
]
>>> type(res)
<type 'list'>
>>> import json
>>> json.dumps(res)
'[{"comment": false, "country_id": [69, "Spain"], "id": 1665, "name": "CUSTOMER A"}, {"comment": false, "country_id": [69, "Spain"], "id": 5799, "name": "CUSTOMER B"}, {"comment": false, "country_id": [69, "Spain"], "id": 1946, "name": "CUSTOMER C"}, {"comment": false, "country_id": [69, "Spain"], "id": 1367, "name": "CUSTOMER D"}, {"comment": false, "country_id": [69, "Spain"], "id": 2066, "name": "CUSTOMER E"}]'
>>> your_json = json.dumps(res) # This variable is ready to be sent as JSON
@ChesuCR 덕분에 대답을 명확히했습니다.
안녕하세요 @Imed, 내 대답을 업데이트했지만 장고 응용 프로그램에서 XMLRPC 응답을 받기를 원한다면 파이썬으로 작업하는 것을 선호하지 않습니다. XMLRPC 쿼리) 대신 JSON? – forvas
안녕하세요, 사실 JSON 응답을 받기를 원하며 그것이 내가 얻는 것입니다. 그러나 인턴쉽 보고서를 작성하기 시작했을 때 XMLRPC는 XML 응답 만 반환하므로 혼란스러워서 제가이 질문을 한 이유입니다. – Imed