Maison >interface Web >js tutoriel >Analyser et convertir entre les objets JSON et les chaînes

Analyser et convertir entre les objets JSON et les chaînes

高洛峰
高洛峰original
2017-02-17 16:42:11942parcourir

Cet article présente principalement en détail la conversion entre les objets JSON et les chaînes. Les amis qui en ont besoin peuvent venir s'y référer. J'espère qu'il sera utile à tout le monde

Dans le processus de développement, si vous le souhaitez. pour transférer un petit nombre de paramètres à l'avant et à l'arrière, vous pouvez utiliser directement la fonction de données ajax, la transmettre au format json et utiliser la requête d'arrière-plan. Mais parfois, vous devez transmettre plusieurs paramètres, de sorte que lorsque l'arrière-plan <.>

accepte Les demandes multiples sont gênantes Pour le moment, elles doivent être transmises sous forme de cours ou de collecte.

Par exemple : le frontend passe les objets JSON au format de classe :

var jsonUserInfo = "{"TUserName":"" userName "","TInterest":"" Interest " " ,"TSex":"" sex "","TCity":"" city "","TDetail":"" detail ""}";

Si jsonUserInfo est épelé sans symboles d'échappement, il est obligatoire var jsonArrayFinal = JSON.stringify(jsonArray); Convert avant de passer.


Copiez le code comme suit :

$.ajax(
                                              ​​​​​ url : "ReceiveHandler1.ashx" ,
données : { userInfo : jsonUserInfo, flag : "123456", clé : "654321" },
dataType : "text",
Succès : function(data) {
                                        pShow").html(data);
                                                                                                                                                                                         
Par exemple :

[{"name":"a"},{"name","b"},{"name","c"}], cela ne peut pas être. passé et doit être Utilisez JSON.stringify pour convertir l'objet tableau en chaîne, puis transmettez-le via AJAX.

Par exemple, j'ai deux variables. Je souhaite convertir a en chaîne et b en objet JSON :

var a={"name":"tom","sex" :"masculin","age":"24"};
var b='{"name":"Mike","sex":"female","age":"29"}';

Dans les navigateurs avancés tels que Firefox, Chrome, Opera, Safari, ie9, ie8, etc., vous pouvez directement utiliser les méthodes stringify() et parse() de l'objet JSON.

JSON.stringify(obj) convertit JSON en chaîne. JSON.parse(string) convertit la chaîne au format JSON ;

La conversion ci-dessus peut s'écrire comme suit :

var a={"name":"tom","sex":"male" , "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)); >

JSON.stringify()

ie8 (mode de compatibilité), ie7 et ie6 n'ont pas d'objets JSON, mais
http://www.json.org/js.html
fournit un json.js, afin que ie8 (mode de compatibilité), ie7 et ie6 puissent prendre en charge les objets JSON et leurs méthodes stringify() et parse(). Vous pouvez obtenir ce js sur http://www.php.cn/, en général ; Utilisez maintenant json2.js.

ie8 (mode de compatibilité), ie7 et ie6 peuvent utiliser eval() pour convertir la chaîne en objet JSON,

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

var cToObj=eval("(" c ")");

alert(typeof(cToObj));

jQuery Il existe également une méthode de conversion de chaînes au format JSON, jQuery.parseJSON(json), qui accepte une chaîne JSON au format standard et renvoie un objet JavaScript (JSON) analysé. Bien sûr, si vous êtes intéressé, vous pouvez encapsuler vous-même une extension jQuery. jQuery.stringifyJSON(obj) convertit JSON en chaîne. Pour plus d'articles liés à l'analyse et à la conversion d'objets et de chaînes JSON, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn