为何Ajax返回json格式之后的数据解析后取出来的数据为undefined

为什么Ajax返回json格式之后的数据解析后取出来的数据为undefined?
我用Ajax取出来的json数据是
{
  "outresult":"success", 
  "outdesc":"",
  "outdata":[ {
                            "USERID":"2234dfsfg",
                             "BRANDID":"12445",
                              "RECEIVER_ID":"567657nbh",
                             "MSG_TYPE":"PIC/TEXT/AUDIO/HTTP", //图,文,语音,链接
                              "RALATION_TYPE":"hello",//关系类型—个人、群、品牌、打招呼
                               "IMMSG":"hello 我是XX",
                               "MSG_TIME":"1411695863000"
              }]
这是我取得数据:
success: function (data, textStatus) {
   alert("Result:");
   alert(data);
   
   var list=eval("("+data+")");
   alert(list.outdata.IMMSG);
}
我这样取IMMSG的数据为undefined,但是我要取到"hello 我是XX",这要怎么做。
------解决思路----------------------
alert(list.outdata[0].IMMSG);
------解决思路----------------------
outdata是个对象数组吧!
------解决思路----------------------

success: function (data, textStatus) {
   alert(data.IMMSG);
}

------解决思路----------------------
这个问题在你的另外一个帖子的回复中就有了,如何解析Ajax返回的数据,只不过把示例里的USERID换成IMMSG而已。
引用:
什么正解?能说清楚点吗?最好能把正确的代码发给我,谢谢了