Javascript 使用js在html中显示json响应

Javascript 使用js在html中显示json响应,javascript,html,json,Javascript,Html,Json,我正在mobilefirst中执行一个soap wsdl调用应用程序。我从soap wsdl中获取json响应。响应存储在result变量中。我使用的是result.length,但它显示了length undefined error。在浏览了许多stackoverflow之后,我发现json响应不是array[]它是{}。我使用了Object.keys()并打印了我的json值的长度(姓名、电子邮件等),现在我需要打印所有的单独值,请帮助如何操作 { “信封”:{ “正文”:{ “proce

我正在mobilefirst中执行一个soap wsdl调用应用程序。我从soap wsdl中获取json响应。响应存储在result变量中。我使用的是result.length,但它显示了length undefined error。在浏览了许多stackoverflow之后,我发现json响应不是array[]它是{}。我使用了Object.keys()并打印了我的json值的长度(姓名、电子邮件等),现在我需要打印所有的单独值,请帮助如何操作

{
“信封”:{
“正文”:{
“processResponse”:{
“职务”:“经理”,
“姓名”:“Rahul Sashanka”,
“照片”:“\/9j\/4AAQSKZJRGABAQAABAAD”
“职位”:“销售支持经理”,
“主管姓名”:“Ashraf Tarabulsy”,
“用户ID”:“44”,
“客户端”:“http:\/\/xmlns.oracle.com\/InternetMobile\/AbsManagement\/BPELProcessUserProfile”,
“xmlns”:“http:\/\/xmlns.oracle.com\/InternetMobile\/AbsManagement\/BPELProcessUserProfile”
}
},
“标题”:{
“断层至”:{
“地址”:“http:\/\/www.w3.org\/2005\/08\/addressing\/anonymous”
},
“消息ID”:“urn:D9785BB07F9011E5BF8B25E60F40847D”,
“答复”:{
“地址”:“http:\/\/www.w3.org\/2005\/08\/addressing\/anonymous”
}
},
“env”:“http:\/\/schemas.xmlsoap.org\/soap\/envelope\/”,
“wsa”:“http:\/\/www.w3.org\/2005\/08\/addressing”
},
“错误”:[
],
“信息”:[
],
“isSuccessful”:正确,
“负责人”:{
“内容长度”:“8207”,
“内容类型”:“text\/xml;charset=utf-8”,
“日期”:“2015年10月31日星期六05:33:00 GMT”,
“SOAPAction”:“\”\”,
“X-ORACLE-DMS-ECID”:“9e10a9dcf92c80fa:38c0ef04:150b8318e90:-8000-0000000000022100”,
“X-Powered-By”:“Servlet\/2.5 JSP\/2.1”
},
“响应时间”:163,
“状态代码”:200,
“状态原因”:“确定”,
“总时间”:216,
“警告”:[
]

}
首先,您的回答在第七行有一个错误,后面没有逗号

 "PHOTO":"\/9j\/4AAQSkZJRgABAQAAAQABAAD"
这只是一个响应,所以它只打印了七次单个名称。你可以根据自己的情况改变它

<<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
   <title></title>
</head>
<body>

</body>

<script type="text/javascript">
$(document).ready(function(){
      var jsonresponse = {
                           "Envelope":{
                              "Body":{
                                 "processResponse":{
                                    "JOB":"Manager",
                                    "NAME":"Rahul Sashanka",
                                    "PHOTO":"\/9j\/4AAQSkZJRgABAQAAAQABAAD",
                                      "POSITION":"Sales Support Manager",
                                    "SUPERVISOR_NAME":"Ashraf Tarabulsy",
                                    "USER_ID":"44",
                                    "client":"http:\/\/xmlns.oracle.com\/InternetMobile\/AbsManagement\/BPELProcessUserProfile",
                                    "xmlns":"http:\/\/xmlns.oracle.com\/InternetMobile\/AbsManagement\/BPELProcessUserProfile"
                                 }
                              },
                              "Header":{
                                 "FaultTo":{
                                    "Address":"http:\/\/www.w3.org\/2005\/08\/addressing\/anonymous"
                                 },
                                 "MessageID":"urn:D9785BB07F9011E5BF8B25E60F40847D",
                                 "ReplyTo":{
                                    "Address":"http:\/\/www.w3.org\/2005\/08\/addressing\/anonymous"
                                 }
                              },
                              "env":"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/",
                              "wsa":"http:\/\/www.w3.org\/2005\/08\/addressing"
                           },
                           "errors":[

                           ],
                           "info":[

                           ],
                           "isSuccessful":true,
                           "responseHeaders":{
                              "Content-Length":"8207",
                              "Content-Type":"text\/xml; charset=utf-8",
                              "Date":"Sat, 31 Oct 2015 05:33:00 GMT",
                              "SOAPAction":"\"\"",
                              "X-ORACLE-DMS-ECID":"9e10a9dcf92c80fa:38c0ef04:150b8318e90:-8000-0000000000022100",
                              "X-Powered-By":"Servlet\/2.5 JSP\/2.1"
                           },
                           "responseTime":163,
                           "statusCode":200,
                           "statusReason":"OK",
                           "totalTime":216,
                           "warnings":[

                           ]
               };

for (var i= 0; i< Object.keys(jsonresponse).length; i++) {
   console.log(jsonresponse.Envelope.Body.processResponse.NAME);
};

})
</script>
</html>
大卫 试试这个

函数显示提要(结果){
var ul=$(“#第1页显示”);
for(var i=0;i').html(“名称”+result[Object.keys(result)[i]];
li.追加($(“
”); ul.附加(li); } }

希望这有帮助。

您可以使用递归方法迭代整个JSON,该方法创建与JSON结构相对应的嵌套
  • 元素。以下是一个例子:

    var-ul,li;
    函数renderJSON(jsonItem、UleElement){
    for(以jsonItem为索引){
    li=document.createElement('li');
    li.textContent=索引;
    附肢儿童(li);
    if(jsonItem[索引]的类型=='object'){
    //递归迭代子对象
    ul=document.createElement('ul');
    附肢儿童(ul);
    renderJSON(jsonItem[index],ul);
    }     
    }
    }
    var ulRoot=document.createElement('ul');
    document.body.appendChild(ulRoot);
    renderJSON(json,ulRoot);
    
    上述函数生成如下标记:

    • 封套
      • 身体
        • 过程响应
          • 工作
          • 名字
          • 照片
          • 位置
          • 主管姓名
          • 用户ID
          • 客户
          • xmlns
      • 标题
        • 过失
          • 地址
        • 消息ID
        • 答复
          • 地址
      • 环境
      • wsa
    • 错误
      • 信息
        • 不成功
        • 负责人
          • 内容长度
          • 内容类型
          • 日期
          • 肥皂剧
          • X-ORACLE-DMS-ECID
          • X动力
        • 响应时间
        • 状态码
        • 状态原因
        • 总时间
        • 警告

          演示->

          你能将你的json代码粘贴到这里吗?对不起,这不是一个错误,我已经删除了它,因为它的二进制值非常大,要粘贴到这里。名称未定义7次提供你的结果数据。谢谢你。无论如何,我不想像这样。我只想在客户端上打印特定的名称side@david,好的“我需要打印所有单独的值”我以为您也想显示这些值,但您只需要键名?已更新了答案和fiddle以仅显示JSON键名。
          function displayFeeds(result){
          
               var ul = $('#page1display');
          
               for (var i= 0; i< Object.keys(result).length; i++) {
                   // Object.keys(result) returns key names in the json
          
                   var li = $('<li/>').html("NAME" +result[Object.keys(result)[i]]);
          
                    li.append($('<hr>'));
                    ul.append(li);
              }
          }