首页 > 编程知识 正文

json在线转java(json在线转js)

时间:2023-12-24 12:05:41 阅读:320788 作者:SDFN

本文目录一览:

如何把json数组转为java数组

有两种方法实现:

(1)直接转换:

创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:

//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。

ArrayListPerson persons = new ArrayListPerson();

for (int i = 0; i 3; i++) {

persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合

}

JSONArray array = new JSONArray();// Json格式的数组形式

JSONObject obj;//json格式的单个对象形式

for (int i = 0; i persons.size(); i++) {

obj = new JSONObject();

//依次填充每一个Java实体对象

try {

obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充

obj.put("sex", persons.get(i).getSex());

obj.put("married", persons.get(i).getMarried());

obj.put("address", persons.get(i).getAddress());

array.put(obj);//将JSONObject添加入JSONArray

} catch (JSONException e) {

e.printStackTrace();

}

}

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。如例:

//模拟Java数据

Person person = new Person("敏敏", 23, "女", "北京市海淀区");

//创建GSON对象

Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式

String json = gson.toJson(person);

json数组转java对象怎么转?

1、需要json的相关jar包

2、设置json格式字符串:

String str="{"student":[{"name":"leilei","age":23},{"name":"leilei02","age":23}]}";

3、建立相应的类:

public class StudentList {

ListStudent student;

public ListStudent getStudent() {

return student;

}

public void setStudent(ListStudent student) {

this.student = student;

}

}

public class Student {

private String name;

private int age;

//private StudentClass studentClass;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

4、测试程序

import java.util.List;

import org.codehaus.jackson.map.ObjectMapper;

public class JsonToJavaBean {

public static void main(String[] args) {

String str="{"student":[{"name":"leilei","age":23},{"name":"leilei02","age":23}]}";

Student stu = null;

ListStudent list = null;

try {

ObjectMapper objectMapper=new ObjectMapper();

StudentList studentList=objectMapper.readValue(str, StudentList.class);

list=studentList.getStudent();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

for(Student s:list){

System.out.println(s.getName());

}

}

有没有将json直接转换生成Java类的工具软件

使用Jackson可以将json转为Java对象,同样也可以将java对象转为json字符串,并且Spring框架内部也是使用的此jar。

实例:将json转为java对象

/*

    下面的id,name,age同是User实体类的属性

*/

// 将json转为Java对象

String json = "{"id":1,"name":"张三","age":18}";

ObjectMapper mapper = new ObjectMapper();

User user = mapper.readValue(json, User.class);、

// 将json转为Java数组对象

String json = "[{"id":1,"name":"张三","age":18},{"id":2,"name":"李四","age":18},{"id":3,"name":"王五","age":18}]";

ObjectMapper mapper = new ObjectMapper();

User[] users = mapper.readValue(json, User[].class);

json格式的字符串转换为java对象

先来解释反斜杠干嘛用的:

你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.

假如我有个json对象:

{

     "message" :   "success"

}

那么问题来了,怎么把它放到一个String字符串对象里呢?

那么我们都会这么做:

String json = "{"message":"success"}";

对吧?但是这么做对吗?前面说过了,字符串是引号开始,引号结尾的,再看一眼这么做对吗?

所以我们需要转义字符去将引号放入字符串当中,而不是字符串定义的功能。“  " ”就是表示将双引号放入字符串中。

2. json字符串转java对象

下面以ali的fastjson为例,讲解json字符串转json对象:

String jsonStr = "{"message" : "success"}";

JSONObject jsonObject = JSON.parseObject(jsonStr);

String message = jsonObject.getString("message");

System.out.println(message);

假如你有想要转换成的bean :

public class Info {

    private String message;

    public String getMessage() {

        return message;

    }

    public void setMessage(String message) {

        this.message = message;

    }

}

就可以这样:

String jsonStr = "{"message" : "success"}";

Info info = JSON.parseObject(jsonStr, Info.class);

System.out.println(info.getMessage());

这里的fastjson只是处理json的框架中的一个,此外还有jackson、Gson等等,可以根据自己的需求选择一个就可以了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。