عند العمل في مشروع ما ، إذا كنت ترغب في إصدار أوامر إلى عنصر تحكم OCX ، فأنت بحاجة إلى الحصول على الكائنات في Java في JS ، ثم تهجئتها في تنسيق وإصدارها. . . يكون الأمر أكثر بساطة عندما يكون كائن ما ، لكنه مزعج بعض الشيء إذا كان صفيفًا.
في البداية اعتقدت أن هناك طريقة بسيطة لتحويل المحتوى مباشرة ، لكن في وقت لاحق وجدت أنه لم يكن ممكنًا. قال الإنترنت إن JS و Java ليس لديهم أشياء سد ، لذلك:
الحل الخاص بي هو: في طبقة الإجراء ، قم بتحويل صفيف كائن Java إلى سلسلة JSON ، وفي JS ، قم بتحويل JSON إلى كائن صفيف.
1. تحويل صفيف كائن Java إلى سلسلة JSON:
يجب استخدام فئتين:
net.sf.json.jsonobjectnet.sf.json.jsonarray // تقسيم كل كائن مركبة إلى كائن بتنسيق JSON ، ويستخدم لإصدار jsonobject json = jsonobject.fromObject (v) ؛ // v هذا هو ، كائن jsonarray.add (json) ؛ //system.out.println (jsonarray.toString ()) ؛ // استخدم إلى sendCommandList = jsonarray.toString () ؛
ضعها في حلقة.
2. js يحولها إلى مجموعة من الكائنات:
// ملاحظة: ما تحصل عليه في هذا الوقت هو سلسلة JSON. // ملاحظة: EscapeJavaScript = "false" Escape = "false" ، وإلا فإن عروض الأسعار في سلسلة JSON التي تم تمريرها قد تم تحليلها في "var szjsonstr = '<s: property excartjavaScript =" false "excart =" false "value =" sendCommandList " />' ؛
أخيرًا:
// تحويل سلسلة json إلى صفيف الكائن var addveHicleArray = eval (szjsonstr) ؛
عند استخدامه ، ما عليك سوى استخدام AddveHiclearRay [i] .Vehicletype ؛ لا بأس. . . . . .
الامتدادات:
استخدام jsonobject و jsonarray
1. مقدمة لحزمة جرة
لجعل البرنامج تشغيل ، يجب تقديم حزمة JSON-LIB ، والتي تعتمد أيضًا على حزم الجرة التالية:
المشاعات-لانج
العموم بانوتيل
العموم- التوصيل. جار
المشاعات-logging.jar
ezmorph.jar
JSON-LIB-2.2.2-JDK15.JAR
2. jsonoBject استخدام الكائن
حزمة JSON-LIB عبارة عن حزمة تحول الفول والمجموعات والخرائط ومصفوفات Java و XML و JSON. في هذه الحالة ، سنستخدم فئة JSONOBJECT لإنشاء كائنات JSONOBJECT ، ثم نطبع قيم تلك الكائنات. من أجل استخدام كائن JsonObject ، نريد تقديم حزمة "net.sf.json". لإضافة عناصر إلى الكائن ، نحتاج إلى استخدام طريقة PUT ().
2.1. مثال 1
Package jSontest ؛ import net.sf.json.jsonarray ؛ استيراد net.sf.json.jsonoBject ؛ الفئة العامة jsonobjectsample {// إنشاء كائن jsonobject الخاص jsonobject jsonobject createjsonoBject () {jsonobject jsonobject = new jsonobject () ؛ jsonobject.put ("اسم المستخدم" ، "huangwuyi") ؛ jsonobject.put ("الجنس" ، "ذكر") ؛ jsonobject.put ("QQ" ، "413425430") ؛ jsonobject.put ("min.score" ، عدد صحيح جديد (99)) ؛ jsonobject.put ("اسمه" ، "مركز الأحلام") ؛ إرجاع jsonobject ؛ } public static void main (string [] args) {jsonobject jsonobject = jsonobjectsample.createJsonObject () ؛ // انتظر الطريقة ، اتصل مباشرة من خلال اسم الفصل + method // output jsonobject system.out.println ("jsonobject:" + jsonobject) ؛ // تفسير نوع كائن الإخراج boolean isarray = jsonobject.isarray () ؛ منطقية isempty = jsonobject.isempty () ؛ Boolean isNullObject = jsonobject.isnullObject () ؛ system.out.println ("هل هي صفيف:" + isarray + "، isNullObject:" + isNullObject) ؛ // إضافة سمات وعناصر إلحاقها بعد JSONOBJECT. jsonobject.element ("العنوان" ، "مدينة شيامن ، مقاطعة فوجيان") ؛ System.out.println ("كائن بعد إضافة سمات:" + jsonobject) ؛ // إرجاع كائن Jsonarray Jsonarray jsonarray = new jsonarray () ؛ jsonarray.add (0 ، "هذه قيمة jsonarray") ؛ jsonarray.add (1 ، "قيمة jsonarray أخرى") ؛ jsonobject.element ("jsonarray" ، jsonarray) ؛ // يقيم jsonarray خلف jsonobject jsonarray array = jsonobject.getjsonarray ("jsonarray") ؛ system.out.println (jsonobject) ؛ System.out.println ("إرجاع كائن jsonarray:" + صفيف) ؛ // أضف القيمة بعد jsonarray // {"username": "Huangwuyi" ، "Sex": "Male" ، "QQ": "413425430" ، "Min.Score": 99 ، القيمة "]} system.out.println (" result = " + jsonobject) ؛ // إرجاع سلسلة وفقًا لـ Key String username = jsonobject.getString ("اسم المستخدم") ؛ System.out.println ("username ==>" + اسم المستخدم) ؛ // تحويل الأحرف إلى jsonobject string temp = jsonobject.toString () ؛ jsonobject object = jsonobject.fromObject (temp) ؛ // بعد التحويل ، قيمة الإرجاع استنادًا إلى key system.out.println ("qq =" + object.get ("qq")) ؛ }}نتيجة الإخراج
jsonobject: {"username": "huangwuyi" ، "sex": "male" ، "qq": "413425430" ، "min.score": 99 ، {"username": "Huangwuyi" ، "Sex": "Male" ، "QQ": "413425430" ، "Min.score": 99 ، "Lamname: المقاطعة "} {" username ":" huangwuyi "،" sex ":" male "،" qq ":" 413425430 "،" min.score ": 99 ، كائن jsonarray: ["هذه قيمة jsonarray" ، "قيمة jsonarray أخرى"] المقاطعة "،" jsonarray ": [" هذه قيمة jsonarray "،" قيمة jsonarray أخرى "]} اسم المستخدم ==> huangwyiq = 4134254302.2. مثال 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 () ؛ // إنشاء JsonObj0 jsonobj0.put ("name0" ، "Zhangsan") ؛ jsonobj0.put ("sex1" ، "female") ؛ System.out.println ("jsonobj0:"+jsonobj0) ؛ // إنشاء JSONOBJ1 JSONOBJ.PUT ("الاسم" ، "Xuwei") ؛ jsonobj.put ("الجنس" ، "ذكر") ؛ System.out.println ("jsonobj:"+jsonobj) ؛ // إنشاء JSONOBJ2 ، يحتوي على إدخالين ، محتويات الإدخالات هي JSONOBJ0 ، JSONOBJ1 JSONOBJ2.PUT ("item0" ، jsonobj0) ؛ jsonobj2.put ("item1" ، jsonobj) ؛ System.out.println ("jsonobj2:"+jsonobj2) ؛ // إنشاء JSONOBJ3 ، هناك إدخال واحد فقط ، المحتويات هي JSONOBJ2 JSONOBJ3.Element ("J3" ، Jsonobj2) ؛ System.out.println ("jsonobj3:"+jsonobj3) ؛ // إضافة كائن JsonObject إلى Jsonarray. وجدت أن الفرق بين Jsonarray و JsonObject هو أن Jsonarray لديه أقواس أكثر من Jsonobject [] Jsonarray.add (Jsonobj) ؛ System.out.println ("jsonarray:"+jsonarray) ؛ jsonobject jsonobj4 = new jsonobject () ؛ jsonobj4.element ("الطقس" ، jsonarray) ؛ System.out.println ("jsonobj4:"+jsonobj4) ؛ }}نتيجة الإخراج:
jsonobj0: {"name0": "Zhangsan" ، "sex1": "female"} jsonobj: {"name": "item0": {"name0": "Zhangsan" ، "Sex1": "Female"} ، "item1": {"name": {"J3": {"item0": {"name0": "Zhangsan" ، "Sex1": "Female"} ، "item1": {"name": Sonarray: [{"name": "xuwei" ، "sex": "male"}] jsonobj4: {"Weather": [{"name": "xuwei" ، "sex": "male"}]}الطريقة أعلاه لاستلام وتحويل كائنات الصفيف في Java هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.