C# - Анализ содержимого ответа из API Zoho Creator Rest - PullRequest
0 голосов
/ 29 апреля 2020

Возникают проблемы с анализом возвратов Zoho Creator Rest API. Примеры возвращаемых результатов:

{{"formname": ["RestAPI", {"operation": ["add", {"values": {"Name": "Gary", "Basi" c ":" 10000" , "Хобби": [ "Чтение", "Запись"], "DOB": "12-июня-1980", "Адрес": "США", "ID": 89597000010897007}, "status": "Success"}]}]}

Использование приведенного ниже кода для возврата объекта JObject для получения свойств:

/* send post request here */
HttpContent _content = null;
var response = this.client.PostAsync(this.PostUrl,_content).Result;  

/* parse request response here - need to record all data from return response */
string responseString = response.Content.ReadAsStringAsync().Result;
JObject result = JObject.Parse(responseString);

По какой-то причине я не являюсь возможность доступа к любым свойствам объекта «результат». Я пытался использовать индексированные и JToken подходы, и никто не возвращает мне значения.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Ужасно, но это работает - к сожалению, это работает только для заданного возврата c, вероятно, есть решение Dynami c, использующее подобные методы:

/* parse request response here - need to record all data from return response */
string responseString = response.Content.ReadAsStringAsync().Result;
JObject result = JObject.Parse(responseString);
var _formname = result["formname"] as JArray;
var step1 = _formname[1];
string operation = step1["operation"][0].ToString();
var values = step1["operation"][1]["values"];
var status = step1["operation"][1]["status"].ToString();
0 голосов
/ 29 апреля 2020

Я бы порекомендовал попробовать JsonConvert.DeserializeObject (импортировать пакет newtonsoft. json) и использовать его в вашей responseString. Вам нужно будет создать класс c#, который соответствует структуре получаемого вами JSON, чтобы заставить метод DeserializeObject работать. Если вы хотите просто использовать. (Любое свойство) для получения информации из ответа, я рекомендую попробовать Json .Decode (responseString);

...