當前位置:首頁 » 編程語言 » json轉對象java

json轉對象java

發布時間: 2022-04-24 08:29:02

1. JSON轉為java對象

開始看網上關於json的例子程序段,實驗了一把發現結果和網上例子程序的結果不一致,後來發現使用json需要導入的jar包不全,只導入json-lib-2.2.2-jdk15.jar ,還需以下幾個包:commons-beanutils-1.7.0.jar 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對象數組, 以下標方式便可訪問數組里的相應對象信息。

2. 非常復雜的一個json串,怎麼轉成java對象

1、可藉助開源組件FastJson或者Jackson。

2、自己動手

a、使用反射獲取對象所有的setter方法以及對於所需的參數類型用map對應

b、循環上訴集合,依次使用反射調用set方法,並使用正則匹配json串中的值,可以使用class.getDeclareFileds();獲取變數名,注意若參數是class類型需要反射為實例後填充,class類型匹配json串是也需要注意,因為可能存在嵌套對象中變數名一致的情況。展示部分代碼如下:

3、綜合分析還是建議使用中間件來進行映射。可參考Jackson示例

3. json字元串怎麼轉換為java對象

您好,鑒於此問題,我將提供您如下的解決方案:


1、首先,加入如下 jar 文件到工程中:

3、控制台輸出結果如下所示:

{"age":90,"houses":[],"id":1,"name":"liNing"}


User [age=90, houses=[], id=1, name=liiNing]

4. java中json對象是如何創建或者轉換出來的

JSONObject在JAVA中其實就相當於Map, 可以通過key取到值;
而JAVA對象,一般是JAVA中的model或者domain 模型對象, 這種對象代表的是一個業務的模型,是有明確的意義的, 包括裡面的屬性類型都是明確定義;
轉換成對象之後,操作其中的值就可以用getter,setter方法明確指定,
一般其他人使用的時候也能知道裡面有什麼,而如果只有一個JSONObject, 使用的時候除了先在控制台輸入裡面的內容是不知道裡面有什麼的,
並不適合在JAVA方法中的數據傳遞使用

5. 如何將json字元串 轉成json對象 java

org.json.jsonobject
去下一個這個jar包吧。
是專用處理json字元串的。
你的這個需求如果對象單一完成可以半自動化完成。
jsonobject
json
=
new
jsonobject(json字元串)
;
if(json.has("你要解析的json是否存在")){
//.....創建你的對象。
//.....解析值並賦值給你的對象
}
如果要實現完成自動解析就得反射了。
以上回答你滿意么?

6. 怎麼將json對象轉換成一個java對象

public static void jsonStrToJava(){
//定義兩種不同格式的字元串
String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城區\"}";
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城區\"}]";
//1、使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
//2、使用JSONArray
JSONArray jsonArray=JSONArray.fromObject(arrayStr);
//獲得jsonArray的第一個元素
Object o=jsonArray.get(0);
JSONObject jsonObject2=JSONObject.fromObject(o);
Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
System.out.println("stu:"+stu);
System.out.println("stu2:"+stu2);
}

7. java中json字元串怎麼轉json對象

給你個思路:
1、將jsonstr轉為json對象 (這個可以用net.sf.json.JSONObject第三方包來實現)

2、根據refObj 這個key獲取{'existType':'exist','deptType':'emp','treeNodeType':'dept'},把獲取的這數據再轉為json.
3、將轉後的json根據existType就能取得值了 。

8. json數組轉java對象怎麼轉

1、需要json的相關jar包

2、設置json格式字元串:

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

3、建立相應的類:

public class StudentList {
List<Student> student;
public List<Student> getStudent() {
return student;
}

public void setStudent(List<Student> 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;
List<Student> 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());
}
}

熱點內容
我配置很高了ae為什麼卡 發布:2025-05-17 14:54:50 瀏覽:166
python數據分析實戰pdf 發布:2025-05-17 14:49:42 瀏覽:950
海瀾之家廣告腳本 發布:2025-05-17 13:56:06 瀏覽:30
手文件夾恢復 發布:2025-05-17 13:53:32 瀏覽:993
linux怎麼看進程 發布:2025-05-17 13:53:30 瀏覽:303
thinkphp欄位緩存 發布:2025-05-17 13:52:01 瀏覽:575
山靈app安卓版如何設置 發布:2025-05-17 13:51:49 瀏覽:388
帆布壓縮袋 發布:2025-05-17 13:26:27 瀏覽:457
c語言16進製表示方法 發布:2025-05-17 13:11:25 瀏覽:480
ftp單位 發布:2025-05-17 13:10:03 瀏覽:142