we assign properties from the JSON as custom properties of the row
this is so on your click event, you can access the row object and then pull the custom properties we set out of it

NB: You could also just create a property called "feedInfo" or something, and assign the JSON node to that, I have just used simple named properties because it's an easier example to follow I think.
var row = Titanium.UI.createTableViewRow({
        hasChild: true,
	className: 'recipe-row',
	backgroundColor: '#fff',
	filter: jsonObject.query.results.item[i].title, //this is the data we want to search on (title),			
	_title: jsonObject.query.results.item[i].title,
	_description: jsonObject.query.results.item[i].description,
	_link: jsonObject.query.results.item[i].link

and now back down where the tablerow event listener occurs

//create a new window and pass through data from the tapped row
tblRecipes.addEventListener('click', function(e){
	var selectedRow = e.rowData; //row index clicked

	var detailWindow = Titanium.UI.createWindow({
		title: selectedRow._title,
		_description:  selectedRow._description,
		_link: selectedRow._link,
		backgroundColor: '#fff',
		id: 0