Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Konvertierungsbeispiele zwischen JSON-Objekten und Strings

Detaillierte Erläuterung der Konvertierungsbeispiele zwischen JSON-Objekten und Strings

零下一度
零下一度Original
2018-05-18 11:27:512065Durchsuche

Wenn Sie während des Entwicklungsprozesses eine kleine Anzahl von Parametern an das Front- und Backend übertragen möchten, können Sie die Ajax-Datenfunktion direkt verwenden, sie im JSON-Format übergeben und die Hintergrundanforderung verwenden Es müssen mehrere Parameter übergeben werden, daher ist es im Hintergrund schwierig, mehrere Anforderungen zu akzeptieren. Zu diesem Zeitpunkt müssen sie in Form einer Klasse oder Sammlung übergeben werden.

Zum Beispiel: Das Frontend übergibt JSON-Objekte im Klassenformat:

Wenn jsonUserInfo ohne Escape-Symbole geschrieben wird, ist nach der Konvertierung var jsonArrayFinal = JSON.stringify(jsonArray); erforderlich Geben Sie es noch einmal weiter.
var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";


Wenn das Frontend mehrere JSON-Arrays im Klassenformat übergibt, also Sammlungstypen:
$.ajax(                    
{                        
type: "post",                        
url: "ReceiveHandler1.ashx",                        
data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },                        
dataType: "text",                        
success: function(data) {                            
$("#pShow").html(data);                       
 } });

Beispiel:

, it kann nicht übergeben werden. Zu diesem Zeitpunkt müssen Sie JSON.stringify verwenden, um das Array-Objekt in eine Zeichenfolge umzuwandeln, und es dann über AJAX übergeben.
[{"name":"a"},{"name","b"},{"name","c"}]


Zum Beispiel habe ich zwei Variablen, die ich in einen String und b in ein JSON-Objekt konvertieren möchte:

In Firefox, Chrome, Opera, Safari, Erweiterte Browser wie ie9 und ie8 können die Methoden stringify() und parse() des JSON-Objekts direkt verwenden.
var a={"name":"tom","sex":"男","age":"24"}; 
var b='{"name":"Mike","sex":"女","age":"29"}';

JSON.stringify(obj) konvertiert JSON in einen String. JSON.parse(string) konvertiert die Zeichenfolge in das JSON-Format;

Die obige Konvertierung kann wie folgt geschrieben werden:


ie8 (Kompatibilitätsmodus), ie7 und ie6 tun Ich habe kein JSON-Objekt, aber www.json.org/js.html stellt ein json.js bereit, sodass ie8 (Kompatibilitätsmodus), ie7 und ie6 JSON-Objekte und ihre Methoden stringify() und parse() unterstützen können auf github. Dieses js wird von com/douglascrockford/JSON-js bezogen. Im Allgemeinen wird json2.js verwendet.
var a={"name":"tom","sex":"男","age":"24"}; 
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSON.stringify(a); 
var bToObj=JSON.parse(b); 
alert(typeof(aToStr));  
//string alert(typeof(bToObj));
//object
JSON.stringify()

ie8 (Kompatibilitätsmodus), ie7 und ie6 können eval() verwenden, um einen String in ein JSON-Objekt zu konvertieren

jQuery verfügt auch über eine Methode zum Konvertieren eines Strings in das JSON-Format jQuery .parseJSON(json), akzeptiert eine JSON-Zeichenfolge im Standardformat und gibt ein analysiertes JavaScript-Objekt (JSON) zurück. Wenn Sie interessiert sind, können Sie natürlich selbst eine jQuery-Erweiterung kapseln. jQuery.stringifyJSON(obj) konvertiert JSON in einen String.
var c='{"name":"Mike","sex":"女","age":"29"}'; 
var cToObj=eval("("+c+")"); 
alert(typeof(cToObj));

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Konvertierungsbeispiele zwischen JSON-Objekten und Strings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn