9
我有一個問題要反序列化JSON文本的JavaScript對象,我測試的jQuery和YUI庫,我有這個類:反序列化JSON JavaScript對象
function Identifier(name, contextId) {
this.name = name;
this.contextId = contextId;
}
Identifier.prototype.setName = function(name) {
this.name = name;
}
Identifier.prototype.getName = function() {
return this.name;
}
Identifier.prototype.setContextId = function(contexId) {
this.contextId= contexId;
}
Identifier.prototype.getContextId = function() {
return this.contextId;
}
和我有這個JSON:
{
"Identifier": {
"name":"uno",
"contextId":"dos"}
}
我想解析創建標識對象,我的問題是這樣的句子:
var obj = jQuery.parseJSON('{"Identifier": { "name":"uno","contextId":"dos"}}');
或
var obj2 = JSON.parse('{"Identifier": { "name":"uno","contextId":"dos"}}');
不工作,var obj和obj2不是標識符對象,我該如何解析? 感謝
這個問題是不重複的,因爲它比作爲複製
不能創建使用JSON的'Identifier'對象,你可以創建功能的對象常量相同的數據結構,但沒有人會工作。你可以做的就是將它們添加到文字中,讓它在獲得json之後像「Indentifier」對象那樣工作。 –
將'fromJson'方法添加到'Identifier'並相應地解析和處理JSON以創建一個新的'Identifier'實例。 –
或者,您可以在使用'JSON.parse'時使用'reviver'函數參數,這將針對字符串化json字符串的每個屬性進行調用。在這個'reviver'函數中,你可以在適當的時候創建一個Identifier對象,即當最後一個屬性被解析時。 [MDN]上有幾個例子(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)。 –