I am answering my own question here in case someone runs across something similar. This was an ajax call to a MS SharePoint site returning list data in JSON.Only one thing is missing in this in jsonReader have to specify "d.result" instead of "_metadata".So the finally complete java script look like this.
jQuery("#list2").jqGrid({
url:"https://xyz.sharepoint.com/sites/Live/_vti_bin/ListData.svc/Region",
datatype: "json",
type: "GET",
contentType: 'application/json;odata=verbose',
ajaxGridOptions: { contentType: "application/json; charset=utf-8" },
colNames:["Country", "State", "City"],
colModel:[
{name:'Country',index:'Country', width:55},
{name:'State',index:'State', width:90},
{name:'City',index:'City', width:90}
],
jsonReader : {
records: "d.results",
cell: "",
repeatitems: false
},
rowNum: 3,
gridview: true,
pager: '#pager2',
autoencode: true,
viewrecords: true,
height: "auto",
ignoreCase: true,
hidegrid: false
});
</Script>
Now,this works fine,List data successfully load in jqGrid.