当前位置: 首页 > 知识库问答 >
问题:

Rails4 API,如何从JSON响应创建URL?

郎喜
2023-03-14

我正在开发一个API,在那里我设置了一些路由,即

{
  "AccountCode": "1234",
  "AccountID": 13579,
  "BalanceCurrent": "5000",
  "Phone": "1234567890",
  "Id": 123123,
  "SerialNumber": "Y2K2000XY2016",
  "MACADDRESS": "y2k2000xy2016",
  "EQUIPMENTTYPE_Name": "Motorola DCX100 HD DVR",
  "ADDRESS_Zip": "90210",
  "ItemID": 12345,
  "iVideoSystemID": 1000001
  "id": null
}

http://myremoteurl.com/service/?param1=sserialNumber&param2=ivideoSystemId&param3=smac&param4=itemId

共有1个答案

陶涵育
2023-03-14

首先,必须将JSON转换为哈希。像这样的事情就可以了:

[7] pry(main)> hash=JSON.parse(json)
=> {"AccountCode"=>"1234",
 "AccountID"=>13579,
 "BalanceCurrent"=>"5000",
 "Phone"=>"1234567890",
 "Id"=>123123,
 "SerialNumber"=>"Y2K2000XY2016",
 "MACADDRESS"=>"y2k2000xy2016",
 "EQUIPMENTTYPE_Name"=>"Motorola DCX100 HD DVR",
 "ADDRESS_Zip"=>"90210",
 "ItemID"=>12345,
 "iVideoSystemID"=>1000001,
 "id"=>nil}

然后您必须选择4个参数发送。我刚取了最后4个参数

[14] pry(main)> chosen_params = hash.slice("ItemID", "id", "iVideoSystemID", "ADDRESS_Zip")
=> {"ItemID"=>12345, "id"=>nil, "iVideoSystemID"=>1000001, "ADDRESS_Zip"=>"90210"}

结果将是:

[23] pry(main)> generate_url("http://www.google.com", chosen_params)
=> "http://www.google.com?ADDRESS_Zip=90210&ItemID=12345&iVideoSystemID=1000001&id="

希望能有所帮助。有任何问题让我知道。

 类似资料:
  • 问题内容: 我正在尝试从Web读取JSON数据,但是该代码返回空结果。我不确定我在做什么错。 问题答案: 理想的方法 不是 使用,而是直接在阅读器上使用解码器。这是一个不错的函数,它获取url并将其响应解码到结构上。 使用示例: 您不应该在生产中使用默认结构,如最初回答的那样!(/ etc调用的是哪个)。原因是默认客户端没有设置超时。如果远程服务器无响应,那将是糟糕的一天。

  • 问题内容: 我正在使用CURL发送请求。响应数据类型为。如何解析此数据并将其插入数据库? JSON输出: 问题答案: 如果您的变量是字符串json之类的,则必须使用function将其解析为 对象 或 数组 : 输出值 现在,您可以将变量作为数组使用: 参考文献: json_decode -PHP手册

  • 也许这个问题是愚蠢的,但我正在寻找一种方法来创建可选的响应,就像Alamofire 4.0一样(例如,responseJSON,responseData,responseString等)。例如,在我的项目中,我有一个BaseService,它发出请求(使用alamofire),然后处理响应(对于错误,如果有,它调用一个异常类,显示一条消息并中断流程)。因此,我有从我的BaseService继承的子

  • 问题内容: 上面的问题是参考上面线程中描述的内容。有这么多的API,可以灵活地返回XML或JSON响应。我想知道是否有一种方法可以自动构造与JSON响应相对应的java bean。 问题答案: 假设您得到一个类似 你想要一个像 使用getter和setters的一种方法是使用JSONGen之类的服务,它将创建该类。您需要使用它 第一 ,并在项目中包含生成的代码。另一种选择可能是动态生成使用了Jav

  • 问题内容: 我正在尝试将服务器端Ajax响应脚本转换为Django HttpResponse,但显然无法正常工作。 这是服务器端脚本: 这是转换后的代码 我正在使用simplejson对Python列表进行编码(因此它将返回JSON数组)。我还不能弄清楚问题所在。但是我认为我对“回声”做错了。 问题答案: 我通常使用字典,而不是列表来返回JSON内容。 在Django 1.7之前的版本中,您将像这

  • 我正在尝试从json的响应中获取正文并打印这个json或能够将他放入数组。我在堆栈上找到了这篇文章:如何从http.Get获得JSON响应。有代码: 但是我不明白为什么会有“Decode(target)”和“target interface{}”。它是做什么的?为什么当我试着打印json时?NewDecoder(r.Body)没有什么有意义的。