當前位置:首頁 » 編程語言 » java遍歷json數組

java遍歷json數組

發布時間: 2022-08-27 19:26:01

『壹』 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運算符為數組元素分配內存空間的方式稱為動態分配方式。

以上內容參考:網路-數組

『貳』 json數據請問怎麼遍歷

如果是js中遍歷使用
var anObject = {one:1,two:2,three:3};//對json數組each
$.each(anObject,function(name,value) {

});

如果是Java代碼直接用for循環就行了,說白了json也是數組的一種,json對象和json數組都可以

//遍歷json數組
String json1 = "{data:[{name:'Wallace'},{name:'Grommit'}]}";
jsonObjSplit = new JSONObject(json1);
JSONArray ja = jsonObjSplit.getJSONArray("data");
for (int i = 0; i < ja.length(); i++) {JSONObject jo = (JSONObject) ja.get(i);System.out.println(jo.get("name"));}
//JSONObject遍歷json對象
String json2 = "{name:'Wallace',age:15}";
jsonObj = new JSONObject(json2);
for (Iterator iter = jsonObj.keys(); iter.hasNext();) {String key = (String)iter.next();System.out.println(jsonObj .getString(Key));}

『叄』 java 遍歷json數組

你的這個問題確實需要點時間;

我個人的思路是用 HashMap 和 List 這兩種數據結構;

如果你了解二叉數的話,在用我說的上面的兩種數據結構;

是能解決問題的;

如果對回答滿意,請點【採納答案】,如果還有問題,請點【追問】

希望我的回答對您有所幫助,希望能採納。

『肆』 JAVA後台來了個數組,在前台變成json,如何遍歷後輸出到div

你可以這樣寫
var image ={ width:100, height:100, id:2 } for (var attr in image ) { var propertyValue = image [attr]; console.log(propertyValue );<br> }

『伍』 java中怎麼遍歷jsonarray

String json =
"[" +
" {" +
" \"resultcode\": \"200\"" +
" }," +
" {" +
" \"resultcode\": \"201\"" +
" }" +
"]";
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json);
JsonArray ja=je.getAsJsonArray();
for (JsonElement jsonElement : ja) {
System.out.println(jsonElement.getAsJsonObject().get("resultcode").getAsString());
}

『陸』 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")+"=");//得到每個對象中的屬性值
}
}

『柒』 求java合並json數據的代碼

我想了一下,但是得有一個前提,就是第一個json數組的size必須和第二個json數組的size相同,並且一一對應,否則將造成數組溢出。

如果是基於上面這個前提,那麼實現的方法就簡單了。

操作json對象,其實標準的方法是將實體類轉換成json後再操作,我這里的話為了便捷直接使用谷歌的Gson來創建JsonObject了,其他的json依賴還有阿里巴巴的FastJson等等,看你平時用什麼習慣。

引入Gson依賴:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>

實現代碼:

public class Main {
public static void main(String[] args) {
JsonArray jsonArray1 = new JsonArray();
JsonObject json11 = new JsonObject();
json11.addProperty("數據1", "0000");
json11.addProperty("數據2", "1111");
JsonObject json12 = new JsonObject();
json12.addProperty("數據1", "0000");
json12.addProperty("數據2", "1111");
JsonObject json13 = new JsonObject();
json13.addProperty("數據1", "0000");
json13.addProperty("數據2", "1111");
jsonArray1.add(json11);
jsonArray1.add(json12);
jsonArray1.add(json13);
System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();
JsonObject json21 = new JsonObject();
json21.addProperty("數據3", "6666");
JsonObject json22 = new JsonObject();
json22.addProperty("數據3", "6666");
JsonObject json23 = new JsonObject();
json23.addProperty("數據3", "6666");
jsonArray2.add(json21);
jsonArray2.add(json22);
jsonArray2.add(json23);
System.out.println(jsonArray2);

//遍歷json數組,按位取出對象
for (int i = 0; i < jsonArray1.size(); i++) {
JsonObject json1 = jsonArray1.get(i).getAsJsonObject();
JsonObject json3 = jsonArray2.get(i).getAsJsonObject();
//遍歷數據3內容,通過Entry獲取數據3的key和value,並合並到數據1中
for (Map.Entry<String, JsonElement> item : json3.entrySet()) {
json1.addProperty(item.getKey(), item.getValue().getAsString());
}
}
System.out.println(jsonArray1);
}
}

整體思路為:遍歷兩個json數組,按位進行合並操作。合並時,遍歷數據3的jsonObject,獲取其key和value,並將其合並到數據1中即可。

運行結果:

『捌』 java foreach是否能對jsonarray進行遍歷

java foreach能對jsonarray進行遍歷。foreach 語句為數組或對象集合中的每個元素重復一個嵌入語句組。foreach 語句用於循環訪問集合以獲取所需信息,但不應用於更改集合內容以避免產生不可預知的副作用。

拓展:

1、Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。

2、Java是由Sun Microsystems公司推出的Java面向對象程序設計語言(以下簡稱Java語言)和Java平台的總稱。由James Gosling和同事們共同研發,並在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產品的嵌入式晶元而設計的。1995年更名為Java,並重新設計用於開發Internet應用程序。

『玖』 跪求大神,用js或者java循環遍歷json數組,實現下面功能,太難了,實在不會,跪求了(6)。

varorigin=[
{"first_id":1,"first_name":"中學","second_id":"1-1","second_name":"一年級","third_id":"1-1-1","third_name":"一年級一班","people":10,"age":10,"parent":5},
{"first_id":1,"first_name":"中學","second_id":"1-1","second_name":"一年級","third_id":"1-1-2","third_name":"一年級二班","people":11,"age":10,"parent":5},
{"first_id":1,"first_name":"中學","second_id":"1-2","second_name":"二年級","third_id":"1-2-1","third_name":"二年級一班","people":20,"age":10,"parent":5},
{"first_id":1,"first_name":"中學","second_id":"1-2","second_name":"二年級","third_id":"1-2-2","third_name":"二年級二班","people":21,"age":10,"parent":5},
{"first_id":2,"first_name":"高中","second_id":"2-1","second_name":"一年級","third_id":"2-1-1","third_name":"一年級一班","people":31,"age":10,"parent":5}
];

varfinalData=[];//最終的數據

transferData();//數據轉換
console.log(finalData,JSON.stringify(finalData));

functiontransferData(){
origin.forEach(function(n){
varfirst=getRecordById(n.first_id,finalData);
if(first){
first.age+=n.age;
first.parent+=n.parent;
first.people+=n.people;

varsecond=getRecordById(n.second_id,first.children);
if(second){
second.age+=n.age;
second.parent+=n.parent;
second.people+=n.people;

varthird=getRecordById(n.third_id,second.children);
if(third){
//這里應該不會存在
}else{
second.children.push({
id:n.third_id,
name:n.third_name,
age:n.age,
parent:n.parent,
people:n.people
});
}
}else{
first.children.push({
id:n.second_id,
name:n.second_name,
age:n.age,
parent:n.parent,
people:n.people,
children:[{
id:n.third_id,
name:n.third_name,
age:n.age,
parent:n.parent,
people:n.people
}]
});
}
}else{
finalData.push({
id:n.first_id,
name:n.first_name,
age:n.age,
parent:n.parent,
people:n.people,
children:[{
id:n.second_id,
name:n.second_name,
age:n.age,
parent:n.parent,
people:n.people,
children:[{
id:n.third_id,
name:n.third_name,
age:n.age,
parent:n.parent,
people:n.people
}]
}]
});
}
});
}

functiongetRecordById(id,data){
for(vari=0,n=data.length;i<n;i++){
if(data[i].id==id)returndata[i];
}
returnnull;
}

『拾』 java後台的json值怎麼傳給jsp頁面,並進行遍歷

首先看你的後台是用的什麼。
1、servlet,把json放在request(session)對象里,然後返回,jsp在request里取。
2、框架,放在form表單里帶回去,jsp頁面用標簽直接調用。

遍歷的方式很多,《% %》的方式 或者《C:BEAN》等方式都可以

滿意請採納。

熱點內容
抗震柱加密區 發布:2025-01-17 03:03:06 瀏覽:134
幼兒園源碼php 發布:2025-01-17 02:41:45 瀏覽:401
win引導Linux 發布:2025-01-17 02:36:49 瀏覽:263
ftp是傳輸類協議嗎 發布:2025-01-17 02:36:47 瀏覽:311
查看電視配置下載什麼軟體 發布:2025-01-17 02:36:41 瀏覽:159
寶馬x330i比28i多哪些配置 發布:2025-01-17 02:35:59 瀏覽:573
伺服器運維安全雲幫手 發布:2025-01-17 02:35:48 瀏覽:72
c應用編程 發布:2025-01-17 02:35:16 瀏覽:941
ios清除app緩存數據免費 發布:2025-01-17 02:34:33 瀏覽:375
微信企業號上傳文件 發布:2025-01-17 02:10:28 瀏覽:64