2016-04-21 73 views
0

剛開始使用API​​測試和掙扎,過去只是做前端selenium web驅動程序測試,但是,我需要讓我的腦海圍繞API測試。Ruby - API RestClient - JSON

我有點理解基礎知識,比如Get會從url獲取數據,post會將數據發佈到url,但我認爲這是正確的,但是我可能是錯的。

我遇到的問題是如下:

response = RestClient.post 'http://jsonplaceholder.typicode.com/posts', 

    {:title => 'mr', :first_name => 'bob', :second_name => 'smith'} 

    data1 = JSON.parse(response) 

     p data1 

所以我分配到restclient.post響應變量和張貼的哈希鍵,值對的網址是什麼?然後我使用JSON解析響應,然後將響應打印到控制檯。我需要做的是從哈希中提取每個值,並將每個值輸出到控制檯,以便將數據顯示爲mr bob smith。而不是{:title =>'mr',:first_name =>'bob',:second_name =>'smith'}

回答

2
print "#{ data1[ :title ]} #{data1[:first_name]} #{data1[:second_name]}" 
+0

您能解釋一下嗎?我知道data1是變量,在方括號中它們是散列中的鍵,但是,你能解釋一下這是如何打印鍵的值而不是鍵本身的? – Speedychuck

+0

當然。當你使用'「#{foo}」時,foo被評估。在這種情況下,我們正在訪問該鍵的值:'data1 [:title]'。 –

+0

謝謝,這將是最好的方式來做我所需要的,或者你可以通過散列迭代,然後打印每個值?想這樣工作嗎? data1.each do | i | p i ['title'] ['first_name'] ['second_name'] end – Speedychuck