jsonarrayjava
『壹』 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());
}
}
『貳』 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();
}
}
『叄』 Java中JSONArray如何獲取數據
轉化為json對象去做吧.JSON.parse()或者eval()都可以轉化的
轉化完之後 通過 對象的屬性去拿值
比如說.
varjson=[{"name":"test",
"conditions":[
{"subject":"ip",
"predicate":"default",
"value":"10.180.26.1"}],
"actions":[{
"act":"forceedgetocache",
"seconds":2}]}];
varjsonObj=JSON.parse(json);
jsonObj.conditions就是你要的吧
『肆』 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);
『伍』 請問java如何清空JSONArray
JSONArray則是[]包裹起來的一個數組(Array)
如何清空jsonarray,有兩種方法。
1、Java代碼
JSONArrayjsonArray=newJSONArray("[]");
2、Java代碼
for(inti=0,len=jsonArr.length();i<len;i++){
JSONObjectobj=jsonArr.getJSONObject(i);
obj.remove("key");
}
『陸』 如何自定義類的ArrayList轉換為JsonArray在Java中
需要導入兩個jar包 json-lib是用於轉換json字元串的核心jar包,上面那個是輔助的。
『柒』 java的JSONArray如何使用
從json數組中得到相應java數組,如果要獲取java數組中的元素,只需要遍歷該數組。
數組內容如下:
/**
* 從json數組中得到相應java數組
* JSONArray下的toArray()方法的使用
* @param str
* @return
*/
public static Object[] getJsonToArray(String str) {JSONArray jsonArray = JSONArray.fromObject(str);
return jsonArray.toArray(); }
3.從json數組中得到java數組,可以對該數組進行轉化,如將JSONArray轉化為String型、Long型、Double型、Integer型、Date型等等。
4.分別採用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
5.同樣,如果要獲取java數組中的元素,只需要遍歷該數組。
『捌』 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運算符為數組元素分配內存空間的方式稱為動態分配方式。
以上內容參考:網路-數組
『玖』 java的JSONArray怎麼用比如有一個JSONArray是 [{..."a":123, "
importjava.text.ParseException;
importorg.json.JSONArray;
importorg.json.JSONObject;
publicclassTestJsonArray{
publicstaticvoidmain(String[]args)throwsParseException{
StringjsonStr="[{"a":123,"b":"hello","x":[{"inner":"InnerJSONObject"}]}]";
JSONArrayjsonArray=newJSONArray(jsonStr);
JSONObjectjsonObj=jsonArray.getJSONObject(0);
System.out.println(jsonObj);
inta=jsonObj.getInt("a");
Stringb=jsonObj.getString("b");
JSONArrayjsonArrayX=jsonObj.getJSONArray("x");
System.out.println(a);
System.out.println(b);
System.out.println(jsonArrayX);
System.out.println(jsonArrayX.getJSONObject(0).getString("inner"));
}
}