本文目錄一覽:
- 1、java對象實體與json之間的轉換
- 2、json和java對象相互轉換的插件工具有哪些
- 3、json數組轉java對象怎麼轉?
- 4、json格式的字符串轉換為java對象
- 5、如何將Java對象轉換成json格式,如何將json格式數據轉換成js對象
java對象實體與json之間的轉換
我的object-json方法是自己實現的,其中可以對Long數組進行特殊處理,你代碼中的JSONObject如果不便於修改的話,你可以把Long數組改成ListLong試試,如果不行只能自己擴展一下了
json和java對象相互轉換的插件工具有哪些
json使用前必須先引入json的相關jar包,我這裡用的是json-lib-2.4-jdk15.jar這個版本的jar包。如果大家沒有的話可以直接在我這裡下載:點擊打開鏈接
導入完jar就可以正式開始開發了,這裡先看一個對象轉json的例子:
對象的具體內容如下:
[java] view plain copy
package myapi.json.demo.entity;
import java.util.List;
public class MyBean {
private String Id;
private String Name;
private List CardNum;
public MyBean(String id, String name, List cardNum) {
super();
Id = id;
Name = name;
CardNum = cardNum;
}
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對象
先來解釋反斜杠幹嘛用的:
你既然提到了是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等等,可以根據自己的需求選擇一個就可以了。
如何將Java對象轉換成json格式,如何將json格式數據轉換成js對象
commons-collections-3.2.jar
commons-lang.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
這時在測試得到了想要的結果
Question q2 = new Question();
q2.setId(2);
q2.setDescription(“descrsssss”);
q2.setPointInfo(“pointkkkk”);
q2.setType(3);
Question q1 = new Question();
q1.setId(1);
q1.setDescription(“descrsssss”);
q1.setPointInfo(“pointkkkk”);
q1.setType(3);
JSONObject jsonObject = new JSONObject().fromObject(q2);
System.out.println(jsonObject);
List list = new ArrayList();
list.add(q1);
list.add(q2);
JSONArray jsonArr= JSONArray.fromObject(list);
System.out.println(jsonArr);
輸出:{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}
[{“description”:”descrsssss”,”id”:1,”pointInfo”:”pointkkkk”,”type”:3},{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}]頁面
$.post(“showQuestions?type=”+type,null,callbackShowQuestions,”json”);
這時在回調函數的參數data獲得的就是json轉換後的js對象數組,
以下標方式便可訪問數組裡的相應對象信息。
原創文章,作者:YYLW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137572.html