A. JSON數組轉成java
org.json.JSONObject
用這個就可以實現,你上網上找這個包就可以了,裡面封裝了一些方法,可以將一個JSON字元串轉換為一個JSONObject對象,也可以反向操作,具體的你看下它的API就知道了。
不如你的這個字元串就可以這么實現
public static void main(String[] args) throws JSONException {
String sJson = "[{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'3','spsl':'4'}]";
JSONArray jsonArray = new JSONArray(sJson);
int iSize = jsonArray.length();
System.out.println("Size:" + iSize);
for (int i = 0; i < iSize; i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
System.out.println("[" + i + "]gwcxxid=" + jsonObj.get("gwcxxid"));
System.out.println("[" + i + "]spsl=" + jsonObj.get("spsl"));
System.out.println();
}
}
B. 如何把json數組轉為java數組
有兩種方法實現:
(1)直接轉換:
創建JSONArray對象、JSONObject對象,通過put方法將其數據以鍵值對的形式填充,如例:
//假如有一個Java實體類Person,包括以下屬性:phone、sex、married、address。
ArrayList<Person> persons = new ArrayList<Person>();
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);
C. java怎麼將json對象轉換成json數組
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;
D. 有沒有將json直接轉換生成Java類的工具軟體
使用Jackson可以將json轉為Java對象,同樣也可以將java對象轉為json字元串,並且Spring框架內部也是使用的此jar。
實例:將json轉為java對象
/*
下面的id,name,age同是User實體類的屬性
*/
//將json轉為Java對象
Stringjson="{"id":1,"name":"張三","age":18}";
ObjectMappermapper=newObjectMapper();
Useruser=mapper.readValue(json,User.class);、
//將json轉為Java數組對象
Stringjson="[{"id":1,"name":"張三","age":18},{"id":2,"name":"李四","age":18},{"id":3,"name":"王五","age":18}]";
ObjectMappermapper=newObjectMapper();
User[]users=mapper.readValue(json,User[].class);
E. java中怎麼把json轉換成對象數組
1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍歷數組里的值,得到每個獨立的對象,然後獲取對應的值設置到聲明好的對象中,最終創建對象完成後添加到集合中,如我自己代碼里的片段:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}
2、使用第三方包如Gson,但是這個你得保證你的JSON字元串個z
F. 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());
}
}
G. 如何java解析json數組
工具/原料
安裝有eclipse軟體的電腦一台
方法/步驟
1
首先我們在eclipse中創建一個java工程,在java工程中創建一個HelloWorld的類,在這個java的入口程序中,我們來創建一個json字元串,並且列印出來,如下圖:
H. java中把json怎麼轉換成數組
使用原生的解析:
String json = "...";
//遍歷數組里的值,得到每個獨立的對象,然後獲取對應的值設置到聲明好的對象中,最終創建對象完成後添加到集合中,如我自己代碼里的片段:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
mDataList.add(data);
}
數組聲明
在數組的聲明格式里,「數據類型」是聲明數組元素的數據類型,可以是java語言中任意的數據類型,包括簡單類型和結構類型。「數組名」是用來統一這些相同數據類型的名稱,其命名規則和變數的命名規則相同。
數組聲明之後,接下來便是要分配數組所需要的內存,這時必須用運算符new,其中「個數」是告訴編譯器,所聲明的數組要存放多少個元素,所以new運算符是通知編譯器根據括弧里的個數,在內存中分配一塊空間供該數組使用。利用new運算符為數組元素分配內存空間的方式稱為動態分配方式。
以上內容參考:網路-數組
I. java解析json字元串 放到數組中
java解析json字元串時將大括弧中的對應為一個類,裡面的數據對應為類的屬性,最後用數組接受即可。
示例關鍵代碼如下:
//導入net.sf.json.JSONArray和net.sf.json.JSONObject兩個jar包
Stringstr="[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]";//一個未轉化的字元串
JSONArrayjson=JSONArray.fromObject(str);//首先把字元串轉成JSONArray對象
if(json.size()>0){
for(inti=0;i<json.size();i++){
JSONObjectjob=json.getJSONObject(i);//遍歷jsonarray數組,把每一個對象轉成json對象
System.out.println(job.get("name")+"=");//得到每個對象中的屬性值
}
}