如何解析ajax请求的json响应?

时间:2016-08-05 13:34:55

标签: jquery ajax javascript json

我是ajax / javascript的新手。我试图解析下面ajax请求的响应:

function invokeMediationRestService(rql) {

var resourceinfo;
var request = $
        .ajax({
            type : "POST",
            url : "REST_URL",
            async : false,
            data : 'SOME_DATA',
            contentType : "application/xml",
            dataType : "xml",
            success: function(response) {

            }
    });

return resourceinfo;

}

对于此请求,我期待如下响应: JSON:

{   " xml-fragment":{     " @ payloadMode":" JSON",     " serializedPayload":" {\" items \":[{\" $ param \":\" Response \&# 34; \"模式\":\" OUT \" \" $值\":[{\"资源\& #34;:[{\"的firstName \":\" ABC \" \"电子邮件\":\" abc2.klm @ xyz.com \" \"别名\":\" cklm28 \" \"管理器\":\&#34 ; VBU \" \"位置\":\" QWERTY \" \"部门\":\" asdfg \",\" lastName \":\" klm \",\" displayName \":\" klm,abc \" \"数据筒\":\" 456 \" \"容器名称\":\" sfdghjjk \& #34; \"组ID \":{\" GUID \":\" 23454356wert \" \"名称\&# 34;:\" qweryugg \" \"标签\":\" asdfgfdg \" \" $类型\&#34 ;:\" sdfgdsf \"},\" $类型\":\" sdfgsdfg \"},{\"的firstName \& #34;:\" ABC \" \"电子邮件\":\" abc3.klm@xyz.com \" \&#34 ;别名\":\" cklm29 \" \"管理器\":\" sdfgrt \" \"位置\":\" QWERTY \" ,\"部门\":\" sdfghj \" \" lastName的\":\" KLM \" \ " displayName \":\" klm,abc(zxa2)\",\" containerID \":\" 456 \&#34 ; \"容器名称\":\" sfdghjjk \" \"组ID \":{\" GUID \" :\" 23454356wert \" \"名称\":\" qweryugg \" \"标签\":\ " dfgh \" \" $类型\":\" dghdh \"},\" $类型\&#34 ;: \" dfghgfh \"}]},{\" $ PARAM \":\" dfghj \" \" $值\& #34;:[\" sdfghj \&#34],\"类型\":\"字符串\" \"模式\& #34;:\" IN \"}]}"   } }

请注意:" items [0]。$ value [0] .resource"下有多条记录。 我想提取这些记录并将其返回。

有人可以帮忙吗?

谢谢, 兰吉特

1 个答案:

答案 0 :(得分:0)

这可能是一个小小的试验和错误 - 我有时会对JSON感到困惑,忘记哪些部分是数组,哪些部分只是可读的。

在我使用

之前我一直在处理JSON
var json = JSON.parse(JSON.stringify(data));

获取已解析的对象。然后,您可以使用json.items之类的内容访问键/值对。如果可以有多个项目,我认为您希望从正确的部分读取类似json.items[0].$value[0].resource[0].name的内容,但是根据您的JSON响应布局的灵活性,您可能需要指定索引(使用{{1} })在其他方面。