2016-12-13 127 views
0

我有一些需要進行美化的序列化JSON數據。所以基本上我想顯示innerHTML沒有更新一些Pre標籤

{"AuthorizationId":123245,"AuthorizationIdSpecified":true,"ClientAuthorizationId":null,"Date":"2016-12-07T15:22:29+00:00","Message":"","PersonId":"345543654645","Status":0}

{ 
    "AuthorizationId": 123245, 
    "AuthorizationIdSpecified": true, 
    "ClientAuthorizationId": null, 
    "Date": "2016-12-07T15:22:29+00:00", 
    "Message": "", 
    "PersonId": "345543654645", 
    "Status": 0 
} 

hiddenData_ *是一個隱藏的範圍,其中JSON原本被渲染。 response-container_ *是顯示結構化JSON的預標記。有一個Razor循環遍歷模型。

劇本是

var x = document.getElementById("[email protected][i].TriggerTime.Ticks").innerHTML; 
 
    var y = JSON.parse(x); 
 
    var z = JSON.stringify(y, null, 2); 
 
    document.getElementById("[email protected][i].TriggerTime.Ticks").innerHTML = z;

的問題是,預先標記的innerHTML時得到更新,但不會在DOM渲染得到。奇怪的是,它適用於某些JSON數據,但不適用於其他人。

我在做什麼錯?

+0

JSON它的工作是什麼,什麼不是工作?如果一致,那麼可能有一個無效的字符。 – krillgar

+0

'var prettyJson = JObject.Parse(json).ToString(Newtonsoft.Json.Formatting.Indented);' –

回答

0

當你把字符串化JSON一個pre標記裏面,我相信你可以嘗試的innerText而不是innerHTML的(因爲您不添加的後裔,但預格式化文本)

0

想出了一個簡單的方法來做到這一點使用剃刀。感謝您的建議。

Newtonsoft.Json.JsonConvert.SerializeObject(Newtonsoft.Json.JsonConvert.DeserializeObject(Model[i].SerializedEventData), Newtonsoft.Json.Formatting.Indented);