Format d'échange de données léger JSON
Par rapport à XML, JSON analyse plus rapidement et a des documents plus petits.
Format JSON
{Nom d'attribut: valeur d'attribut, nom d'attribut: valeur d'attribut, ...}
Le type de nom d'attribut peut être la chaîne, le numéro, le booléen, le null, l'objet et le nom d'attribut doivent être enfermés en doubles citations. Si la valeur d'attribut est une chaîne, elle doit également être enfermée en doubles guillemets.
JSON représente un tableau
Format: [valeur, valeur, valeur], où la valeur peut être un type de données de base, un type d'objet ou un type de tableau
Type de tableau [{"Name": "Yangjq", "Age": 22}, {"Name": "Andreny", "Age": 21}];Type d'objet ["Nom": "Andreny", "Hobby": ["Sing", "Dance", "Eat"]]
Convertir
graphique Lrjson String -> objet JavaScript
1. Utilisez la fonction native de JavaScript: EVAL (), mais cette méthode est dangereuse et vous devez être prudent lorsque vous l'utilisez.
var str = {"name": "yangjq", "Âge": 23}; var obj = eval ("(" + str + ")"); alert (obj.name);2. Utilisez la méthode Parse () fournie par l'objet natif JSON. Si cet objet n'est pas valide, cela signifie que votre version de navigateur est trop faible! ! !
var str = {"name": "andreny", "age": 22}; var obj = json.psese (str); alert (obj.name);3. Méthode pour ajouter des chaînes à l'aide du fichier json.js.
var str = {"name": "mignon erha", "âge": 9}; var obj = str.parsejson (); alert (obj.name);Convertir l'objet JSON en chaîne JSON
graphique objet lrjson -> chaîne JSON
Utilisation de l'API fournie par JSON: JSONObject, méthode fournie par JSONArray
// La première méthode empEP = new Emp ("1", "Andreny", "man"); jsonObject obj = jsonObject.fromObject (EMP); String jSontr = obj.toString (); // la deuxième méthode var obj = {"name": "yangjq", "Âge": 23}; var str1 = obj.tojsontSesting (); str2 = obj.json.stringify ();Les problèmes de mise en cache sont impliqués dans l'AJAX lors de l'envoi de demandes
== Remarque ==: Lors de l'envoi d'une demande, l'objet Ajax fourni par le navigateur IE vérifiera d'abord s'il a accédé à l'adresse. S'il y a accédé, le navigateur n'enverra plus la demande.
Mécanismes pour différents navigateurs pour traiter le cache
Chrome continue d'envoyer des demandes
Firefox continue d'envoyer des demandes
IE Le navigateur n'envoie plus de demandes
Comment empêcher le navigateur d'envoyer des demandes à cause du cache?
Ajouter un nombre aléatoire après l'adresse de la demande
xhr.open ('get', 'getNumber.do?+math.random(),,true);Envoyer une demande de poste
Quelques questions sur la synchronisation
Après avoir envoyé une demande de synchronisation, le navigateur doit attendre que la réponse du serveur arrive avant de continuer à fonctionner dans la page. Lorsque Ajax envoie une demande de synchronisation, le navigateur verra la page actuelle.
Code de test
package yangjq.test; importer java.util.arraylist; import java.util.list; import net.sf.json.jsonArray; import net.sf.json.jsonObject; import yangjq.entity.friend; public class jSonTest {public static void Main (string [] args) {System.out.println ("--------------------------"); test1 (); test2 (); test3 (); test4 ();} // converti Java objet en json String public static void test1 () {ami f = new friend (); f.setname ("andreny"); f.Setage (23); jsonobject obj = jsonObject.fromObject (f); System.out.println (obj.toString ());} // convertir la collection JSON en JSON String public static void test2 () {list <priend> fs = new ArrayList <Mien> (); for (int i = 0; i <10; i ++) {ami f = new friend (); f.setName ("yangjq" + i); f.setage (12 + i); fs.add (f);} jsonArray ja = jsonArray.fromObject (fs); System.out.println ("------------ / n" + fs); System.out.println (ja.tostring ());} // json String est converti en Java Object Public Static Void test3 () {String jsonstr = "{/" name / ": /" andreny / ", /" age / ": 22}"; jsonObject obj = jsonObject.fromObject (jsonst); ami ami = (ami) JSONObject.toBean(obj,Friend.class);System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "{/" name / ": /" anndray / ", /" age / ": 23}]"; jsonArray obj = jsonArray.fromObject (jsonstr); list <priend> amis = (list <priend>) JSONArray.tocollection (obj, ami.class); System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Résultats en cours:
---------------{"age":23,"name":"andreny"}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [name = yangjq8, âge = 20], ami [name = yangjq9, Âge = 21]] [{"Age": 12, "Name": "Yangjq0"}, {"Age": 13, "Name": "Yangjq1"}, {"Age": 14, "Name": "Yang JQ2 "}, {" Age ": 15," Name ":" YangJQ3 "}, {" Age ": 16," Name ":" Yangjq4 "}, {" Age ": 17," Name ":" Yangjq5 " }, {"Age": 18, "Name": "Yangjq6"}, {"Age": 19, "Name": "Yangjq7"}, {"Age": 20, "Name": "Yangjq8"}, {"Age": 21, "Name": "Yangjq9"}] ----------------- ------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [Nom = Andreny, age=22]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Résumer
Ce qui précède concerne cet article sur les problèmes d'échange de données, de mise en cache et de synchronisation de JSON. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!