Wenn Sie an einem Projekt arbeiten, müssen Sie die Objekte in Java in JS an die OCX -Steuerung an die OCX -Steuerung ausstellen und sie dann in ein Format buchstabieren und sie ausgeben. . . Es ist einfacher, wenn ein Objekt eins ist, aber es ist ein wenig problematisch, wenn es sich um ein Array handelt.
Zuerst dachte ich, es gäbe eine einfache Möglichkeit, Inhalte direkt zu konvertieren, aber später stellte ich fest, dass es nicht möglich war. Das Internet sagte, dass JS und Java keine überbrückten Dinge haben, also:
Meine Lösung lautet: In der Aktionsschicht konvertieren Sie das Java -Objekt -Array in eine JSON -Zeichenfolge und konvertieren JSON in JS in ein Array -Objekt.
1. Konvertieren Sie das Java -Objekt -Array in eine JSON -Zeichenfolge:
Zwei Klassen sollen verwendet werden:
net.sf.json.jsonObjectnet.sf.json.jsonArray // Jedes Fahrzeugobjekt in ein Objekt im JSON -Format teilen und verwendet werden, um JsonObject json = jsonObject.fromObject (v) auszustellen; // V, das Objekt jsonArray.add (JSON); //System.out.println (jsonarray.toString ()); // benutze sendCommandlist = jsonArray.toString ();
Setzen Sie es in eine für Schleife.
2.Js wandelt es in eine Reihe von Objekten um:
// Hinweis: Was Sie zu diesem Zeitpunkt erhalten, ist die JSON -Zeichenfolge. // Hinweis: EscapeJavaScript = "False" Escape = "False", sonst werden die Zitate in der übergebenen JSON -Zeichenfolge in "var szjonstr = '
endlich:
// JSON -String in Objektarray var addvehiclearray = eval (szjonstr) konvertieren;
Wenn Sie es verwenden, verwenden Sie einfach AddVehiclearray [i] .Vehicletype; Es ist in Ordnung. . . . . .
Erweiterungen:
Die Verwendung von JsonObject und JsonArray
1. Einführung in das JAR -Paket
Um das Programm zum Laufen zu bringen, muss das JSON-LIB-Paket eingeführt werden, das auch von den folgenden JAR-Paketen abhängt:
commons-Lang.jar
commons-beanutils.jar
Commons-collections.jar
Commons-Logging.Jar
Ezmorph.jar
JSON-LIB-2.2.2-JDK15.jar
2.JsonObject Objektverbrauch
Das JSON-LIB-Paket ist ein Paket, das Bohnen, Sammlungen, Karten, Java-Arrays und XML und JSON umwandelt. In diesem Fall werden wir die JSONObject -Klasse verwenden, um JsonObject -Objekte zu erstellen, und dann die Werte dieser Objekte drucken. Um das JsonObject -Objekt zu verwenden, möchten wir das Paket "net.sf.json" vorstellen. Um dem Objekt Elemente hinzuzufügen, müssen wir die Put () -Methode verwenden.
2.1. Beispiel 1
Paket JSONTest; import net.sf.json.jsonArray; import net.sf.json.jsonObject; public class jsonObjectsample {// create JSonObject -Objekt privat static jsonObjects createjsonObject () {jsonObject jsonObject = new JsonObject (); JsonObject.put ("Benutzername", "Huangwuyi"); JsonObject.put ("Sex", "männlich"); JsonObject.put ("qq", "413425430"); JsonObject.put ("min.score", New Integer (99)); JsonObject.put ("Spitzname", "Dream Center"); return JsonObject; } public static void main (String [] args) {jsonObject jsonObject = jsonObjectPleple.createjsonObject (); // Warten Sie auf die Methode, rufen Sie direkt durch den Klassennamen + Methode // Ausgabe jsonObject system.out.println ("JSONObject:" + JsonObject); // die Art des Ausgabefiels boolean isarray = jsonObject.isArray () interpretieren; boolean isempty = jsonObject.isempty (); boolean isnullObject = jsonObject.isnullObject (); System.out.println ("Ist es ein Array:" + isarray + ", isnullObject:" + isnullObject); // Attribute hinzufügen und Elemente nach JsonObject anhängen. JsonObject.Element ("Adresse", "Xiamen City, Fujian Provinz"); System.out.println ("Ein Objekt nach Hinzufügen von Attributen:" + jsonObject); // Rückgabe eines JsonArray -Objekts JsonArray JsonArray = New JsonArray (); jsonArray.add (0, "Dies ist ein JsonArray -Wert"); jsonArray.add (1, "Another JsonArray Value"); JsonObject.Element ("JsonArray", JsonArray); // wohnhaft ein jsonArray hinter JsonObject jsonArray array = jsonObject.getJsonArray ("jsonArray"); System.out.println (JSONObject); System.out.println ("Return a JsonArray -Objekt:" + 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 Wert "]} System.out.println (" result = " + JSONObject); // eine Zeichenfolge gemäß dem wichtigsten String username = jsonObject.getString ("Benutzername") zurückgeben; System.out.println ("userername ==>" + userername); // Zeichen in jsonObject String temp = jsonObject.toString () konvertieren; JsonObject Object = jsonObject.fromObject (temp); // Nach der Konvertierung Rückgabewert basierend auf dem Schlüssel system.out.println ("qq =" + Object.get ("qq")); }}Ausgangsergebnis
JsonObject: {"Benutzername": "Huangwuyi", "Sex": "männlich", "qq": "413425430", "min.score": 99, "Spitzname": "Dream Center"} ist ein Array: false, it leer: false, isnullobject: falsheaddress -Objekt -Objekt -Attribut -Attribute: Füusader -Mitte -Objekt -Attraktivitätsattribut: Füusader -Mitte -Objekt. {"Benutzername": "Huangwuyi", "Sex": "männlich", "QQ": "413425430", "Min.Score": 99, "Spitzname": "Dream Center", "Adresse": "Xiamen City, Fujian Province"}{"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 value"]} Return a JSONArray object: ["this is a jsonArray value","another jsonArray value"] Result={"username":"huangwuyi","sex":"male","QQ":"413425430","Min.score":99,"nickname":"Dream center","address":"Xiamen City, Fujian Provinz "," JsonArray ": [" Dies ist ein JsonArray -Wert "," Ein anderer JsonArray -Wert "]} username ==> huangwuyiqq = 4134254302.2. Beispiel 2.
Paket 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 (); // JSONOBJ0 JSONOBJ0.PUT ("name0", "Zhangsan") erstellen; JSONOBJ0.PUT ("sex1", "weiblich"); System.out.println ("JSONOBJ0:"+JSONOBJ0); // JSONOBJ1 JSONOBJ.PUT ("Name", "Xuwei") erstellen; Jsonobj.put ("Sex", "männlich"); System.out.println ("JSONOBJ:"+JSONOBJ); // JSONOBJ2 erstellen, enthält zwei Einträge, der Inhalt der Einträge ist JsonObj0, JSONOBJ1 JSONOBJ2.PUT ("item0", jsonObj0); JSONOBJ2.PUT ("item1", jsonObj); System.out.println ("JSONOBJ2:"+JSONOBJ2); // JSONOBJ3 erstellen, es gibt nur einen Eintrag, der Inhalt ist jsonObj2 jsonObj3.Element ("J3", JSONOBJ2); System.out.println ("JSONOBJ3:"+JSONOBJ3); // JsonObject -Objekt zu JsonArray hinzufügen. Stellte fest, dass der Unterschied zwischen JsonArray und JsonObject darin besteht, dass JsonArray mehr Klammern hat als JsonObject [] JsonArray.add (JSONOBJ); System.out.println ("JsonArray:"+JsonArray); JsonObject jsonObj4 = new JsonObject (); JSONOBJ4.Element ("Wetter", JsonArray); System.out.println ("JSONOBJ4:"+JSONOBJ4); }}Ausgangsergebnis:
JSONOBJ0: {"name0": "zhangsan", "sex1": "weiblich"} jsonobj: {"name": "xuwei", "sex": "männlich"} jsonobj2: { "item0": {"name0": "zhangsan", "sex1": "weiblich"}, "item1": {"name": "xuwei", "sex": "männlich"} jsonobj3: {"j3": {"item0": {"name0": "zhangsan", "sex1": "weiblich"}, "item1": {"name": "xuwei", "sex": "männlich"}}} j SonArray: [{"Name": "Xuwei", "Sex": "männlich"}] jsonobj4: {"Wetter": [{"Name": "Xuwei", "Sex": "männlich"}]}Die obige Methode zum Empfangen und Konvertieren von Array -Objekten in Java ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.