Heim  >  Artikel  >  Web-Frontend  >  Analysieren und konvertieren Sie zwischen JSON-Objekten und Strings

Analysieren und konvertieren Sie zwischen JSON-Objekten und Strings

高洛峰
高洛峰Original
2017-02-17 16:42:11923Durchsuche

In diesem Artikel wird hauptsächlich die Konvertierung zwischen JSON-Objekten und Zeichenfolgen ausführlich vorgestellt. Ich hoffe, dass er im Entwicklungsprozess hilfreich ist Um eine kleine Anzahl von Parametern nach vorne und hinten zu übertragen, können Sie die Ajax-Datenfunktion direkt verwenden, sie im JSON-Format übergeben und die Hintergrundanforderung verwenden. Manchmal müssen Sie jedoch mehrere Parameter übergeben, sodass der Hintergrund

akzeptiert Es ist mühsam, mehrere Anfragen anzufordern. Zu diesem Zeitpunkt müssen sie in Form einer Klasse oder einer Sammlung übergeben werden.

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


var jsonUserInfo = "{"TUserName":"" + userName + "","TInterest":"" + Interesse + „“, „TSex“: „+ Geschlecht + „“, „TCity“: „+ Stadt + „“, „TDetail“: „+ Detail + „“}“;

wie z. B. Die ausgeschriebene jsonUserInfo hat keine Escape-Symbole und muss vor der Übergabe durch var jsonArrayFinal = JSON.stringify(jsonArray); konvertiert werden.


Kopieren Sie den Code wie folgt:

$.ajax(

                                            ​​​​ URL: "ReceiveHandler1.ashx" ,
Daten: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },
dataType: "text",
Success: function(data) {
                                       pShow").html(data);
                                                                                                                                                           übergeben und muss verwendet werden. Verwenden Sie JSON.stringify, um das Array-Objekt in eine Zeichenfolge zu konvertieren, und übergeben Sie es dann über AJAX.

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

var a={"name":"tom","sex" :„männlich“, „Alter“: „24“};
var b='{“name“: „Mike“, „Geschlecht“: „weiblich“, „Alter“: „29“}‘; >
In erweiterten Browsern wie Firefox, Chrome, Opera, Safari, ie9, ie8 usw. können Sie die Methoden stringify() und parse() des JSON-Objekts direkt verwenden.

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:

var a={"name":"tom", "sex": "male" , „Alter“: „24“}; JSON .stringify(a);

var bToObj=JSON.parse(b);

alert(typeof(aToStr)); //string

alert(typeof(bToObj)); >

JSON.stringify()

ie8 (Kompatibilitätsmodus), ie7 und ie6 haben keine JSON-Objekte, aber
http://www.json.org/js.html

stellt eine json.js bereit, sodass ie8 (Kompatibilitätsmodus), ie7 und ie6 JSON-Objekte und ihre stringify()- und parse()-Methoden unterstützen können. Sie können diese js im Allgemeinen unter http://www.php.cn/ erhalten Verwenden Sie jetzt json2.js.

ie8 (Kompatibilitätsmodus), ie7 und ie6 können eval() verwenden, um die Zeichenfolge in ein JSON-Objekt umzuwandeln,

var c='{"name":"Mike","sex " :"female","age":"29"}';

var cToObj=eval("("+c+")");
alert(typeof(cToObj));

jQuery verfügt außerdem über eine Methode zum Konvertieren von Zeichenfolgen in das JSON-Format, jQuery.parseJSON(json), die eine JSON-Zeichenfolge in einem Standardformat akzeptiert und ein analysiertes JavaScript-Objekt (JSON) zurückgibt. Wenn Sie interessiert sind, können Sie natürlich selbst eine jQuery-Erweiterung kapseln. jQuery.stringifyJSON(obj) konvertiert JSON in einen String.

Weitere Artikel zum Parsen und Konvertieren von JSON-Objekten und -Strings finden Sie auf der chinesischen PHP-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