Lorsque vous travaillez sur un projet, si vous souhaitez émettre des commandes sur le contrôle OCX, vous devez obtenir les objets en Java en JS, puis les épeler dans un format et les émettre. . . Il est plus simple lorsqu'un objet en est un, mais il est un peu gênant s'il s'agit d'un tableau.
Au début, je pensais qu'il y avait un moyen simple de convertir directement du contenu, mais plus tard, j'ai trouvé que ce n'était pas possible. Internet a dit que JS et Java n'ont pas de choses à ponter, donc:
Ma solution est: à la couche d'action, convertissez le tableau d'objets Java en une chaîne JSON et, en JS, convertissez JSON en un objet de tableau.
1. Convertir le tableau d'objets Java en une chaîne JSON:
Deux classes doivent être utilisées:
net.sf.json.jsonObjectNet.sf.json.jsonArray // Divisez chaque objet de véhicule en un objet au format JSON, et est utilisé pour émettre jsonObject json = jsonObject.fromObject (v); // v est l'objet JSONArray.add (JSON); //System.out.println (jsonArray.ToString ()); // Utiliser pour sendCommandList = JSONArray.ToString ();
Mettez-le dans une boucle pour.
2.JS Le convertit en un tableau d'objets:
// Remarque: ce que vous obtenez en ce moment, c'est la chaîne JSON. // Remarque: EscapeJavaScript = "false" Escape = "false", sinon les citations de la chaîne JSON passées seront analysées dans "var szjsont = '<s: propriété EscapeJavaScript =" false "Escape =" false "value =" sendCommandList "/>';
enfin:
// convertir la chaîne JSON en tableau d'objets var addveHiclearray = evaling (szjSontr);
Lorsque vous l'utilisez, utilisez simplement AddveHicLearray [i] .veHicletype; C'est bien. . . . . .
Extensions:
L'utilisation de JSONObject et JSONArray
1. Introduction au package JAR
Pour faire fonctionner le programme, le package JSON-LIB doit être introduit, ce qui dépend également des packages JAR suivants:
Commons-Lang.jar
Commons Beanutils.jar
communes-collections.jar
Commons-Logging.jar
ezmorph.jar
JSON-LIB-2.2.2-JDK15.JAR
2.jsonObject Utilisation des objets
Le package JSON-LIB est un package qui convertit les haricots, les collections, les cartes, les tableaux Java et XML et JSON. Dans ce cas, nous utiliserons la classe JSONObject pour créer des objets JSONObject, puis nous imprimons les valeurs de ces objets. Afin d'utiliser l'objet JSONObject, nous voulons introduire le package "net.sf.json". Pour ajouter des éléments à l'objet, nous devons utiliser la méthode put ().
2.1. Exemple 1
package jSonTest; import net.sf.json.jsonArray; import net.sf.json.jsonObject; public class jsonObjectsample {// create jsonObject object private static jsonObject createjsonObject () {jSonObject jSonObject = new JSONObject (); jsonObject.put ("nom d'utilisateur", "Huangwuyi"); jsonObject.put ("sexe", "mâle"); jsonObject.put ("qq", "413425430"); jsonObject.put ("min.score", nouvel entier (99)); jsonObject.put ("surnom", "Dream Center"); return jsonObject; } public static void main (string [] args) {jsonObject jSonObject = jsonObjectSample.createjsonObject (); // attendez la méthode, appelez directement le nom de classe + méthode // output jsonObject Object System.out.println ("JSONOBject:" + JSONObject); // Interpréter le type d'objet de sortie booléen isArray = jsonObject.isArray (); boolean isempty = jsonObject.iSempty (); booléen isNullObject = jsonObject.isnullObject (); System.out.println ("Est-ce un tableau:" + ISArray + ", IsNullObject:" + IsNullObject); // Ajouter des attributs et des éléments d'ajout après JSONObject. JsonObject.Element ("Adresse", "Xiamen City, province du Fujian"); System.out.println ("Un objet après avoir ajouté des attributs:" + jsonObject); // Renvoie un objet JSonArray JSONArray JSONArray = new JSONArray (); JSONArray.add (0, "Ceci est une valeur JSONArray"); JSONArray.add (1, "une autre valeur JSONArray"); JSONObject.Element ("JSONArray", JSONArray); // réside un jsonarray derrière jsonObject jsonArray array = jsonObject.getjsonArray ("jsonArray"); System.out.println (jsonObject); System.out.println ("Renvoie un objet JSONArray:" + Array); // Add the value after JSONArray// {"username":"huangwuyi","sex":"Male","QQ":"413425430","Min.score":99,"nickname":"Dream center","address":"Xiamen City, Fujian Province","jsonArray":["this is a jsonArray value","another jsonArray valeur "]} System.out.println (" result = "+ jsonObject); // renvoie une chaîne en fonction de la chaîne de clé username = jsonObject.getString ("nom d'utilisateur"); System.out.println ("username ==>" + username); // Convertir des caractères en jsonObject String temp = jsonObject.toString (); JsonObject object = jsonObject.FromObject (temp); // Après la conversion, la valeur de retour basée sur Key System.out.println ("qq =" + object.get ("qq")); }}Résultat de sortie
JSONObject: {"nom d'utilisateur": "Huangwuyi", "Sex": "Male", "QQ": "413425430", "Min.Score": 99, "surnom": "Dream Center"} est un Array: False, est-ce vide: false, IsnullObject: FALSEADDRESS OBJECT APRÈS ADTRADER Attribute: est-ce que c'est vide: False, IsnulloBject: FALSEADDRESS APRÈS ADTRADER ATTRIPT: {"Nom d'utilisateur": "Huangwuyi", "Sex": "Male", "QQ": "413425430", "min.score": 99, "surnom": "Dream Center", "Adresse": "Xamen City, Fujian Province "} {" nom d'utilisateur ":" Huangwuyi "," Sex ":" Male "," QQ ":" 413425430 "," Min.Score ": 99," surnom ":" Dream Center " Objet JSONArray: ["Ceci est une valeur JSONArray", "une autre valeur JSONArray"] result = {"nom d'utilisateur": "Huangwuyi", "Sex": "Male", "QQ": "413425430", "MIN.SCORE": 99, "surnom": "Dream Center", "Address": "Xamen City, Fujian, Fujian Province "," JSONArray ": [" Ceci est une valeur JSONArray "," une autre valeur jsonarray "]} nom d'utilisateur ==> Huangwuyiqq = 4134254302.2. Exemple 2.
package jSonTest; import net.sf.json.jsonArray; import net.sf.json.jsonObject; public class jSonTest {public static void main (String args []) {jsonObject jsonObj0 = new JSONObject (); JsonObject JSONOBJ = new JSONObject (); JSONObject JSONOBJ2 = new JSONObject (); JSONObject JSONOBJ3 = new JSONObject (); JSONArray JSONArray = new JSONArray (); // Créer JSONOBJ0 JSONOBJ0.PUT ("Name0", "Zhangsan"); JSONOBJ0.PUT ("Sex1", "Femme"); System.out.println ("JSONOBJ0:" + JSONOBJ0); // Créer JSONOBJ1 JSONOBJ.PUT ("Name", "Xuwei"); jsonobj.put ("sexe", "mâle"); System.out.println ("JSONOBJ:" + JSONOBJ); // CREATE JSONOBJ2, contient deux entrées, le contenu des entrées est JSONOBJ0, JSONOBJ1 JSONOBJ2.PUT ("ITEM0", JSONOBJ0); JSONOBJ2.PUT ("ITEM1", JSONOBJ); System.out.println ("JSONOBJ2:" + JSONOBJ2); // Créer JSONOBJ3, il n'y a qu'une seule entrée, le contenu est JSONOBJ2 JSONOBJ3.Element ("J3", JSONOBJ2); System.out.println ("JSONOBJ3:" + JSONOBJ3); // Ajouter un objet JSONObject à JSONArray. Ont constaté que la différence entre JSONArray et JsonObject est que JSONArray a plus de supports que JSONObject [] JSONArray.add (JSONOBJ); System.out.println ("JSONArray:" + JSONArray); JSONObject JSONOBJ4 = new JSONObject (); JSONOBJ4.Element ("Weather", JSONArray); System.out.println ("JSONOBJ4:" + JSONOBJ4); }}Résultat de sortie:
JSONOBJ0: {"Name0": "Zhangsan", "Sex1": "Femme"} JSONOBJ: {"Name": "Xuwei", "Sex": "Male"} JSONOBJ2: { "item0": {"name0": "zhangsan", "sexe1": "feme"}, "item1": {"name": "xuwei", "sexe": "mâle"}} jsonobj3: {"j3": {"item0": {"name0": "zhangsan", "sexe1": "feme"}, "item1": {"name": "xuwei", "sexe": "mâle"}}} j SonArray: [{"name": "xuwei", "sexe": "mâle"}] JSONOBJ4: {"Weather": [{"name": "xuwei", "sexe": "mâle"}]}La méthode ci-dessus pour recevoir et convertir des objets de tableau dans Java est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.