mam pytanie do deserializowania tekst JSON do JavaScript Object, przetestować jQuery i biblioteki YUI, mam tej klasy:Cofnięcie JSON do obiektu 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;
}
i mam ten JSON:
{
"Identifier": {
"name":"uno",
"contextId":"dos"}
}
Chcę parse utworzyć obiekt Identifier, moim problemem jest to, że zdania:
var obj = jQuery.parseJSON('{"Identifier": { "name":"uno","contextId":"dos"}}');
lub
var obj2 = JSON.parse('{"Identifier": { "name":"uno","contextId":"dos"}}');
Nie działa, var obj i obj2 nie są obiektami Identyfikatora, jak mogę je przeanalizować? Dzięki
To pytanie nie jest duplikatem, ponieważ powstał 5 lat wcześniej niż pytanie, które Michał Marks jako powielone
Nie można utworzyć obiekt 'Identifier' z JSON, można utworzyć obiekt dosłowne z tej samej struktury danych, ale żadna z funkcji będzie praca. Możesz dodać je do literału, aby działał jak obiekt 'Indentifier' po uzyskaniu json. –
Dodaj metodę 'fromJson' do' Identyfikatora' i parsuj i przetwarzaj JSON, aby utworzyć nową instancję 'Identifier'. –
Alternatywnie, możesz użyć parametru funkcji "reviver" podczas używania 'JSON.parse', który byłby wywoływany dla każdej właściwości twojego napisu json. Z poziomu tej funkcji 'reviver' można utworzyć obiekt' Identifier' w odpowiednim czasie, tj. Podczas analizowania ostatniej właściwości. Jest kilka przykładów na [MDN] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse). –