1
В настоящее время я извлекаю два массива JSON, и я храню их в переменных json_one и json_two. Все работает нормально, но теперь я хотел бы как-то объединить их в один массив.Объединить 2 массива с одним словарем
Как объединить 2 массива с одним словарем?
json_one
[
{
"address": "1031 25th Street San Diego, CA 92102",
"id": 1,
"resource_type_id": 3,
}
]
json_two
[
{
"resource_id": 4,
}
[
Я попытался это ....
def show
@user = User.find(params[:user_id])
@favorite = @user.favorites.find(params[:id])
@resource_data = []
(@resource_data << @favorite.resource_type.community_resources.where(:id => @favorite.resource_id)).flatten!
(@resource_data << @favorite.resource_type.district_resources.where(:id => @favorite.resource_id)).flatten!
(@resource_data << @favorite.resource_type.military_resources.where(:id => @favorite.resource_id)).flatten!
(@resource_data << @favorite.resource_type.school_resources.where(:id => @favorite.resource_id)).flatten!
@favorite_data = []
(@favorite_data << @favorite)
json_one = @resource_data.to_json(:only => [:id, :resource_type_id,:district_id,
:school_id, :name, :description, :website, :phone, :email, :address, :latitude, :longtude])
json_two = @favorite_data.to_json(:only => [:resource_id])
array1 = JSON.parse(json_one)
array2 = JSON.parse(json_two)
#array1 << array2
#firsts = array2.map {|array2| array2.first}
combined = [ array1.first.merge(array2.first) ]
respond_to do |format|
format.html
format.json { render json: data }
end
end
###but this is my result.
###I would like both dictionaries to be combined into one.
[
{
"address": "1031 25th Street San Diego, CA 92102",
"id": 1,
"resource_type_id": 3,
}
{
"resource_id": 4,
}
]
Вам нужно разобрать JSON. array_1 и array_2 анализируются из JSON: 'array1 = JSON.parse (json_one)' –
Не знаете, откуда эта ошибка. Можете ли вы поставить 'json_one' и' json_two'? –
Я не думаю, что вам нужен JSON. Что такое '@ resource_data' и' @ favorite'? –