Ao trabalhar em um projeto, se você deseja emitir comandos para o controle OCX, precisará obter os objetos em Java no JS e, em seguida, soletre -os em um formato e emiti -los. . . É mais simples quando um objeto é um, mas é um pouco problemático se for uma matriz.
No começo, pensei que havia uma maneira simples de converter diretamente o conteúdo, mas depois descobri que não era possível. A Internet disse que JS e Java não têm coisas em ponte, então:
Minha solução é: na camada de ação, converta a matriz de objeto Java em uma string json e, em JS, converta JSON em um objeto de matriz.
1. Converta o Java Object Matra em uma string json:
Duas aulas devem ser usadas:
net.sf.json.jsonObjectnet.sf.json.jsonArray // dividiu cada objeto de veículo em um objeto no formato json e é usado para emitir jsonObject json = jsonObject.fromobject (v); // v é, objeto jsonArray.add (json); //System.out.println (jsonArray.toString ()); // Use para sendCommandList = jsonArray.toString ();
Coloque -o em um loop.
2.js o converte em uma variedade de objetos:
// Nota: o que você obtém neste momento é a string json. // Nota: EscapeJavascript = "false" Escape = "False", caso contrário, as cotações na sequência JSON passada serão analisadas em "var szjSonstr = '<s: Property Escapejavascript =" false "Escape =" False "Value =" SendCommandlist " />';
afinal:
// converte a string json em matriz de objeto var addvehiclearray = avaliar (szjSonstr);
Ao usá -lo, basta usar AddVeHicLearRay [i] .VeHicleType; está bem. . . . . .
Extensões:
O uso de JsonObject e JsonArray
1. Introdução ao pacote JAR
Para fazer o programa executar, o pacote JSON-LIB deve ser introduzido, o que também depende dos seguintes pacotes JAR:
Commons-Lang.Jar
Commons-beanutils.Jar
Commons-collections.Jar
Commons-logging.jar
ezmorph.jar
JSON-LIB-2.2.2-JDK15.JAR
2.jsonObject Uso do objeto
O pacote JSON-LIB é um pacote que converte feijões, coleções, mapas, matrizes Java e XML e JSON. Nesse caso, usaremos a classe JsonObject para criar objetos JsonObject e, em seguida, imprimirmos os valores desses objetos. Para usar o objeto JsonObject, queremos introduzir o pacote "net.sf.json". Para adicionar elementos ao objeto, precisamos usar o método put ().
2.1. Exemplo 1
pacote jsontest; importar net.sf.json.jsonArray; import net.sf.json.jsonObject; public class JsonObjectSample {// Crie JsonObject Object Private static jsonObject CreateJsonObject () {jsonObject jsonObject = new jsonObject (); jsonObject.put ("nome de usuário", "huangwuyi"); jsonObject.put ("sexo", "masculino"); jsonObject.put ("qq", "413425430"); jsonObject.put ("min.score", novo inteiro (99)); jsonObject.put ("apelido", "Dream Center"); retornar jsonObject; } public static void main (string [] args) {jsonObject jsonObject = jsonObjectSample.createjsonObject (); // aguarde o método, ligue diretamente através do nome da classe + método // saída jsonObject System.out.println ("jsonObject:" + jsonObject); // Interprete o tipo de objeto de saída boolean isarray = jsonObject.isArray (); boolean isEmpty = jsonObject.isEmpty (); boolean isNullObject = jsonObject.isNullObject (); System.out.println ("É uma matriz:" + isarray + ", isNullObject:" + isNullObject); // Adicione atributos e anexar elementos após o JsonObject. JsonObject.Element ("Endereço", "Cidade de Xiamen, província de Fujian"); System.out.println ("Um objeto após adicionar atributos:" + jsonObject); // retorna um objeto jsonArray jsonArray jsonArray = new jsonArray (); jsonArray.Add (0, "Este é um valor JsonArray"); jsonArray.add (1, "outro valor JsonArray"); JsonObject.Element ("JsonArray", JsonArray); // reside um JsonArray por trás do JsonObject JsonArray Array = JsonObject.getjsonArray ("JsonArray"); System.out.println (JsonObject); System.out.println ("Retorne um objeto 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 value "]} System.out.println (" resultado = " + jsonObject); // retorna uma string de acordo com o nome da string de chaves userName = jsonObject.getString ("nome de usuário"); System.out.println ("nome de usuário ==>" + nome de usuário); // Converta caracteres para JsonObject string temp = jsonObject.toString (); JsonObject Object = jsonObject.FromObject (temp); // Após a conversão, o valor de retorno com base no key system.out.println ("qq =" + object.get ("qq")); }}Resultado de saída
JsonObject: {"Nome de usuário": "Huangwuyi", "Sex": "masculino", "qq": "413425430", "min.score": 99, "apelido": "Dream Center"} é uma matriz: false, é vazio: false, isNulObject: IsNal. {"nome de usuário": "huangwuyi", "sexo": "masculino", "qq": "413425430", "min.score": 99, "apelido": "Dream Center", "Endereço": "Xiamen City, Fujian" Província "} {" nome de usuário ":" huangwuyi "," sexo ":" masculino "," qq ":" 413425430 "," min.score ": 99," apelido ":" Jonray Center "," Endereço ":" Xiamen City, fujian província "," JsonArray ": 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 Província "," JsonArray ": [" This Is A JsonArray Value "," Outro JsonArray Value "]} nome de usuário ==> Huangwuyiqq = 4134254302.2. Exemplo 2.
pacote jsontest; importar 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 (); // crie jsonObj0 jsonObj0.put ("name0", "zhangsan"); jsonObj0.put ("sex1", "feminino"); System.out.println ("JsonObj0:"+jsonObj0); // crie jsonObj1 jsonObj.put ("nome", "xuwei"); jsonobj.put ("sexo", "masculino"); System.out.println ("JsonObj:"+JsonObj); // Criar jsonObj2, contém duas entradas, o conteúdo das entradas são JsonObj0, JsonObj1 jsonObj2.put ("Item0", JsonObj0); JsonObj2.put ("Item1", JsonObj); System.out.println ("JsonObj2:"+jsonObj2); // Criar jsonObj3, existe apenas uma entrada, o conteúdo é jsonObj2 jsonObj3.Element ("j3", jsonObj2); System.out.println ("JsonObj3:"+jsonObj3); // Adicione o objeto JsonObject ao jsonArray. Descobriu que a diferença entre JsonArray e JsonObject é que JsonArray tem mais colchetes do que JsonObject [] jsonArray.add (jsonobj); System.out.println ("JsonArray:"+jsonArray); JsonObject jsonObj4 = new jsonObject (); JsonObj4.Element ("Weather", JsonArray); System.out.println ("JsonObj4:"+jsonObj4); }}Resultado da saída:
jsonObj0: {"name0": "zhangsan", "sex1": "feminino"} jsonobj: {"name": "xuwei", "sexo": "masculino"} jsonObj2: {{ "Item0": {"name0": "Zhangsan", "Sex1": "feminino"}, "item1": {"nome": "xuwei", "sexo": "masculino"}} JsonObj3: {"j3": {"item0": {"name0": "zhangsan", "sex1": "feminino"}, "item1": {"name": "xuwei", "sexo": "masculino"}}} j SONARRAY: [{"Name": "Xuwei", "Sex": "masculino"}] JsonObj4: {"Weather": [{"Nome": "Xuwei", "Sex": "Male"}]}O método acima de receber e converter objetos de matriz em Java é todo o conteúdo que eu compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.