繁体   English   中英

将json解码为html

[英]decode json as html

因此,我正在构建一个Web应用程序,并且我有一个Ajax请求来ping数据库(或数据库缓存)并回显json的大事。 我对json完全陌生,当php从数据库中提取时,我回显json_encode($ databaseResults),然后它在我的html页面中显示为长字符串。 我的问题是,如何将其转换为所需格式并将其提取出来?

谢谢!

页面中的Json结果如下所示:

“[{\\” currentcall \\ “:\\” 1 \\” \\ “timecalled \\”:\\ “15:30 \\”,\\ “etaTime \\”:\\ “15时35 \\”,\\ “DepartmentID的\\”:\\ “ 1 \\”,\\“ memberID \\”:\\“ 1 \\”,\\“ callinnum \\”:\\“ 1 \\”,\\“位置\\”:\\“ Fire House \\”,\\“开票\\”:\\“ ñ\\ “\\ ”日期\\“:\\ ”2 \\\\ / 12 \\\\ / 11 \\“,\\ ”名字\\“:\\ ”菲尔\\“,\\ ”姓氏\\“:\\ ”ASDF \\“,\\”电子邮件\\ “:\\” pasdf@gmail.com \\ “\\ ”HOMEPHONE \\“:\\ ”+ 19111111111 \\“,\\ ”手机\\“:\\ ”+ 11234567891 \\“,\\ ”cellphone2 \\“:空,\\” workphone \\“:null,\\” phonenumber5 \\“:null,\\” phonenumber6 \\“:null,\\” streetAddress \\“:\\” 10 asdfnt Dr \\“,\\” city \\“:\\” \\“,\\”用户名\\ “:\\” pgsdfg \\”,\\ “密码\\”:\\ “0623ab6b6b7dsasd3834799fbf2a08529d \\”,\\ “管理员\\”:\\ “Y \\”,\\ “资格\\”:\\ “内部\\”,\\ “等级\\” :空,\\ “CPR \\”:空,\\ “EMT \\”:空,\\ “培训\\”:空,\\ “datejoined \\”:空,\\ “dateactive \\”:空,\\ “状态\\”:\\ “DE \\”,\\ “拉链\\”:\\ “51264 \\”,\\ “未决\\”:\\ “否\\”,\\ “defaultETA \\”:\\ “7 \\” \\ “设备\\”:\\“asdKE -286 \\ “}]”

可能有多个结果...这只是一个结果

编辑:

基本上,我试图将数组中的一堆行传递到html文件中,并仅取出所需的数据并对其进行格式化。 我不知道json是否是执行此操作的最佳方法,只是我想到的一种解决方案。 因此,如果有人有更好的解决方案,那就太好了。

Edit2:这是我发出请求的jQuery,PHP仅具有echo json_encode($ DBResults);

function getResponder(){
    var responders = $.ajax({
            type : "POST",
            url: "/index.php/callresponse/get_responders",
            success: function(html){
                $("#ajaxDiv").html(html);   
            }
    });

setTimeout("getResponder()", 10000);
}

当您将其标记为jquery时,我假设您正在使用jQuery。 如果只想获得一个字符串,则可以跳过json部分,并使用jQuery .load(),像这样$('#result').load('ajax/test.php'); 会将ajax / test.php中的内容加载到#result中

但是,如果要使用json,可以查看jQuery文档上的getJSON 您还可以使用jQuery parseJSON函数 ,该函数将为json返回一个包含jsonData的javascript对象。

这是一个如何使用parseJSON的示例

var object = $.praseJSON(jsonString); //jsonString is the string containing your actual json data
alert(object.location) //Will alert "Fire House" with the given json string

这是如何以相同方式使用getJSON的示例

$.getJSON('ajax/test.php', function(object) {
  alert(object.location); //Will alert "Fire House" with the given json string
});

如果您也想传递参数,可以这样

$.getJSON('ajax/test.php', 
    { 
        Param1 : "Value1", 
        Param2 : "value2" 
    },
    function(object) {
        alert(object.location);  //Will alert "Fire House" with the given json string
    }
);

如果您尝试将json从javascript发送到php,则可以使用

$jsonArray = jsonDecode($_GET['key']); 

当然,如果您使用的是post,则应改写$ _POST。

您必须将数据解析为JSON对象,然后可以根据需要使用对象的属性。

在不了解细节的情况下,我可以告诉您,您将需要使用JSON对象来解析文本。 在此处查看更多信息: http : //www.json.org

var obj = JSON.parse(ajaxResponseText);

您应该使用php函数json_decode ,它将为您提供具有所有属性的对象或数组。

然后,您应该递归地遍历此对象,并将属性的内容添加到字符串中,该字符串应该是最终的HTML。

通常,要通过Web请求在jQuery( 例如 )之后的html元素中显示JSON响应 ,请尝试以下操作:

$("#box-content-selector").append(
    "<pre>"+
    JSON.stringify(JSON.parse(data), null, 4)+
    "</pre>"
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM