Я вызываю API, который возвращает массив объектов JSON, и я не могу правильно получить доступ к каждому элементу. Это пример возвращаемого значения вызова API.
[{"param1":1,"param2":"blah1"},
{"param1":2,"param2":"blah2"},
{"param1":3,"param2":"blah3"}]
Вот я пытаюсь вызвать API и распечатать параметр первого объекта ответа JSON.
result = HTTParty.get('http://randomapi.com',query: options)
@a = result[0]['param1']
# puts "#{result}"
puts "#{@a}"
При этом ничего не печатается. Я знаю, что я успешно обращаюсь к URL-адресу, потому что в результате будет напечатана правильная информация.
Я получил информацию о том, как получить доступ к ответу JSON по этому URL-адресу http://blog.teamtreehouse.com/its-time-to-httparty
Изменить: прочитав комментарии ниже, я понял, что вызов API возвращает тип содержимого text/html, а синтаксический анализ text/html не работает, поскольку ответ также возвращает следующий заголовок ниже ожидаемого значения. . Есть ли способ удалить это, не заходя в саму строку и не удаляя ее?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form method="post" action="GetRankingList.aspx?pvptype=1&sid=1&tm=20130821160000&auth=77c9b582c3aed3d3974400cfb118fe4b" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZLSAAAtd4/lj1u6b0GjPWM+p3i9tqI6sq+xDrRw2cAv3" />
</div>
<div></div>
</form>
</body>
</html>