簡體   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