可否将Javascript对象转换成对应的java对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可否将Javascript对象转换成对应的java对象相关的知识,希望对你有一定的参考价值。

public void outString(String str)
try
getResponse().setContentType("text/json;charset=utf-8");
PrintWriter out = getResponse().getWriter();
out.write(str);
catch (IOException e)


//字符串转换为json
public void outJsonString(String str)
outString(str);


// 对象转换JSON格式
public void outJson(Object obj)
try
String json=JSONObject.fromObject(obj).toString();
outJsonString(json);
catch (Exception e)
e.printStackTrace();



// 数组转换JSON格式
public void outJsonArray(Object array)
try
outJsonString(JSONArray.fromObject(array).toString());
catch (Exception e)
e.printStackTrace();



后台:List<QuestionsOptions> questionsOptionsList=new ArrayList<QuestionsOptions>() ;
outJsonArray(questionsOptionsList);

jquery 代码:

$.ajax(
url:'questionsOptionsList.action',
type:'post',
data:loadValue, //传给后台的参数
dataType:'json', //返回值类型 一般设置为json
success:function (data, status) //服务器成功响应处理函数

showHTML(data);
,
error:function (data, status, e)//服务器响应失败
参考技术A javascript的对象类型是根据对象的值来定义的

Javaweb阶段知识回顾一

java基础增强

一、jdk1.5的新特性

  自动封箱拆箱

    封箱:Java自动将原始类型值转换成对应的对象,如将int的变量转换成Integer对象  

    拆箱:自动将对应的对象转换成原始类型值,将Integer对象转换成int类型值

    自动装箱时编译器调用valueOf将原始类型值转换成对象,同时自动拆箱时,编译器通过调用类似intValue(),doubleValue()这类的方法将对象转换成原始类型值。

  静态导入

    static import

    如果一个类中的方法全部是使用static声明的静态方法或变量,则可以使用静态导入,在使用导入类的静态资源时,不需要类名.

  可变参数

    类型... 空格 变量名 

    可变参数的底层是数组对象,很多事情,编译器给你干了

    可变参数必须位于方法参数的最后一个哦

    凡是参数是可变参数的,可以直接传数组对象

  枚举

    enum  

    public enum EasySingleton{}
   java枚举底层是继承了java.lang.Enum,可以用在switch中

  增强for循环

    增强for循环的底部实现其实就是迭代器

    语法:for(类型 变量名 : 对象)

  反射 

    获得class类的三种方式

      1、Object类中的getclass()

      2、类.class

      3、Class类的forName()

    获得class类之后可以

      1、创建对象

      2、获取类属性

      3、获取类方法

    反射的详细api:http://blog.csdn.net/jjfly999/article/details/51226986?locationNum=2&fps=1

二、注解

 基础:
  1.可以通过 @interface关键字来定义注解,定义注解和定义接口很相似。
  2.注解中可以包含属性,可以在注解声明时,在该注解内部声明属性;类似于接口中定义方法;
  3.注解的属性必须public,public可以省略,默认就是public.
  4.在使用注解时需要指定属性的值(未指定默认值的属性)。也可以在定义属性时使用default指定默认值。指定默认值之后,在使用该注解时,该属性可以指定值,也可以不指定值。
  5.注解中属性的类型是有要求,只能是八种基本数据类型、String、枚举类型、Class类型等,或以上类型一维数组。
  6.注解的属性中有一个特殊属性,名字叫value属性,如果注解只用一个属性需要被赋值,并且该属性的名字刚好叫value,则属性赋值“value=”可以省略。
  7.如果注解的属性是一个数组类型,并且在赋的值中只有一个值,则“{}”可以省略。
 进阶:
  使用源注解修饰自定义的注解
  所谓的源注解指的就是sun定义用来修饰自定义注解的注解。

  @Retention:用于指定该Annotation可以保留的域。:SOURCE(源代码级别,给编译器看的)编译器直接丢弃这种策略的注解。

                           CLASS(class字节码级别)编译器编译后,会将该类注解保留在class文件中,当运行程序时,JVM将不会保留该类注解。     

                           RUNTIME:编译器编译后,会将该类注解保留在class文件中,JVM保留,程序在运行时页存在,所以可以通过反射来获取注解的信息(使用最多)

  @Target:指定注解用于修饰哪个成员

    ANNOTATION_TYPE 注释类型声明
    CONSTRUCTOR 构造方法声明
    FIELD 字段声明(包括枚举常量)
    LOCAL_VARIABLE 局部变量声明
    METHOD 方法声明
    PACKAGE 包声明
    PARAMETER 参数声明



















以上是关于可否将Javascript对象转换成对应的java对象的主要内容,如果未能解决你的问题,请参考以下文章

java调用javascript时,如何将NativeArray或NativeObject转换成java实体或者HashMap,List对象

JavaScript:如何将JSON对象转换成JSON字符串呢

如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。

如何将 javascript 对象转换成 json字符串

判断string可否转换为int

如何将 javascript 对象转换成 json字符串