本文目錄一覽:
- 1、jstl foreach 怎麼遍歷json 數組
- 2、php循環讀取json
- 3、forEach循環遍歷請求介面
- 4、問大佬php中如何用 foreach解析json
- 5、C# json 數據循環
- 6、java foreach是否能對jsonarray進行遍歷
jstl foreach 怎麼遍歷json 數組
c:forEach items=”${jsonArray }” var=”bean”
${bean.XXX }
/c:forEach
%
//簡單的map對象
Map map = new HashMap();
map.put(“aa”, “你好”);
map.put(“bb”,”中國”);
request.setAttribute(“person1”, map);
//把map放入request域對象,真正的時候是有另一個控制器傳送過來的,在這裡我直接放在同一個頁面,下面也一樣
//map中放入User對象
User u1 = new User();
u1.setName(“hello”);
u1.setAge(18);
User u2 = new User();
u2.setName(“world”);
u2.setAge(21);
map.put(“aa”, u1);
map.put(“bb”,u2);
request.setAttribute(“person”, map);
//set
Set set = new HashSet();
set.add(u1);
set.add(u2);
request.setAttribute(“person2”, set);
%
!– 遍歷簡單的map對象
c:forEach items=”${person1 }” var=”per1″
key=${per1.key },value=${per1.value }
/c:forEachbr
—
!– 遍歷Map中的User對象 —
h2map的迭代/h2
c:forEach items=”${person}” var=”user”
key=${user.key },name=${user.value.name },age=${ user.value.age}
/c:forEachbr
h2Set集合的遍歷/h2
c:forEach items=”${person2 }” var=”per”
name=${per.name },age=${per.age }
/c:forEach
/body
上述的User中有兩個屬性,分別是name和age,以及相對應的set和get的方法。
php循環讀取json
?php
$str = ‘[{“name”:”北京”,”city”:[{“name”:”北京”,”area”:[“東城區”,”西城區”,”崇文區”,”宣武區”,”朝陽區”,”丰台區”,”石景山區”,”海淀區”,”門頭溝區”,”房山區”,”通州區”,”順義區”,”昌平區”,”大興區”,”平谷區”,”懷柔區”,”密雲縣”,”延慶縣”]}]},{“name”:”天津”,”city”:[{“name”:”天津”,”area”:[“和平區”,”河東區”,”河西區”,”南開區”,”河北區”,”紅橋區”,”塘沽區”,”漢沽區”,”大港區”,”東麗區”,”西青區”,”津南區”,”北辰區”,”武清區”,”寶坻區”,”寧河縣”,”靜海縣”,”薊 縣”]}]}]’;
$provinces = json_decode($str, true);
foreach($provinces as $province){
echo $province[‘name’], ‘br/’;
foreach($province[‘city’] as $city){
echo ‘–‘, $city[‘name’], ‘br/’;
foreach($city[‘area’] as $area){
echo ‘—-‘, $area, ‘br/’;
}
}
}
exit;
forEach循環遍歷請求介面
最近項目的需求,需要遍歷table表格里的數據,進行生產的操作,
效果:
介面返回的格式
瀟洒的實現效果
但是有一點需要注意:如果用for循環,就會出現,介面全都請求成功以後,也不能成功賦值的錯誤!
例如for循環的寫法如下:
for循環寫法:
postAutoProduceDevice() {
var _this = this;
if (_this.zdExList.length 1) {
return _this.$message.warning(“請先導入要生產的設備”);
}
var snArr = [];
var snArrTotal = 0;
var arrList = _this.zdExList;
for (let index = 0; index arrList.length; index++) {
const element = arrList[index];
_this.hqUserInfo({
data: {
name: “postAutoProduceDevice”,
data: JSON.stringify({
batch: _this.produceDevSearch.batch,
devicetype: _this.zd.devtype,
sn: element.sn,
field: “”,
snnum: “1”,
operid: _this.userid
})
}
}).then(res = {
if (res.ret) {
_this.zdExList[index] = {
“sn”: res.Data[0].sn,
“deviceType”: res.Data[0].devicetype,
“logicId”: res.Data[0].logicid,
“mac”: res.Data[0].mac,
“ip”: res.Data[0].ip,
“retmsg”: “生產成功”
}
} else {
_this.zdExList[index].retmsg = res.Msg;
}
});
}
},
forEach寫法:
postAutoProduceDevice() {
var _this = this;
if (_this.zdExList.length 1) {
return _this.$message.warning(“請先導入要生產的設備”);
}
var zdParams = {
batch: _this.produceDevSearch.batch,
devicetype: _this.zd.devtype,
sn: “”,
field: “”,
snnum: “1”,
operid: _this.userid
}
_this.zdExList.forEach((item,index) = {
zdParams.sn = item.sn;
_this.hqUserInfo({
data: {
name: “postAutoProduceDevice”,
data: JSON.stringify(zdParams)
}
}).then(res = {
if (res.ret) {
item.sn = res.Data[0].sn;
item.devicetype = res.Data[0].devicetype;
item.logicId = res.Data[0].logicid;
item.mac = res.Data[0].mac;
item.ip = res.Data[0].ip;
item.retmsg = “生產成功”;
_this.$set(_this.zdExList, index, _this.zdExList[index]);
} else {
item.retmsg = res.Msg;
_this.$set(_this.zdExList, index, _this.zdExList[index]);
}
});
});
},
問大佬php中如何用 foreach解析json
首先,不推薦使用foreach進行自己去解析json字元串,因為php已經封裝了非常好用,且效率不低的內置方法,這個方法就是json_decode。
使用這個函數,可以直接把json數據轉換成數據或者對象,這個是可以控制的。轉換成對象或者數組之後,再使用foreach就可以方便遍歷得到想要的數據。
C# json 數據循環
(請樓主耐心看完,因為是專門為你的問題寫的)
1.首先需要寫三個類,這個類和json中對象的數據結構應該是對應的,這裡的例子可能忽略了部分屬性和數據類型,僅供參考:
//Json數據的對象結構
public class MyJson
{
public ListMyTreeNodeBean beanList { get; set; }
}
//樹形結構中的對象結構
public class MyBean
{
public string id { get; set; }
public string title { get; set; }
public string note { get; set; }
public MyImage image { get; set; }
public string maxid { get; set; }
public string fold { get; set; }
public string putright { get; set; }
public ListMyTreeNodeBean children { get; set; }
public MyBean()
{
}
}
//對象裡面Image的結構
public class MyImage
{
public string url { get; set; }
public string border { get; set; }
public string height { get; set; }
public string width { get; set; }
}
2.因為json是樹形結構的數據,所以需要遞歸遍歷去尋找對應ID的對象
//這個類負責按照ID尋找對象
public class MyHelper
{
//FindById函數的重載函數,用來第一次調用
public static MyBean FindById(string id, string jsonString)
{
return FindById(id, jsonString, null);
}
//FindById遞歸尋找函數
public static MyBean FindById(string id, string jsonString, ListMyBean beanList)
{
if (beanList == null) {
//第一次調用的時候,尋找的列表是最高層的根底下的對象列表
//將json數據轉換成C#對應類型(用了Newtonsoft.Json)
MyJson json = JavaScriptConvert.DeserializeObjectMyJson(jsonString);
beanList = json.beanList;
}
//遍歷對象列表,尋找對應ID的對象
MyBean returnBean = null;
foreach (MyBean bean in beanList) {
if (bean.id == id) {
//找到了
returnBean = bean;
} else {
//遞歸尋找:
//如果不是,就尋找此對象的children列表
returnBean = FindById(id, jsonString, bean.children);
}
//如果找到,就跳出尋找
if (returnBean != null) {
break;
}
}
return returnBean;
}
}
3.使用實例:
//假設json的字元串在變數jsonString中
MyBean bean = MyHelper.FindById(“33”, jsonString);
if (bean != null) {
//使用查找出來的bean
}
寫在最後:
以上代碼僅供參考,沒有經過編譯測試、有可能存在書寫錯誤。但是邏輯清晰、沒有任何冗餘內容。請樓主閱讀以後自己在理解的基礎上進行修改、改進再使用。
另外樓主如果想給分就請直接給,請不要馬馬虎虎把大家的回答投票,比較反感,最後祝你早日搞定這個問題~~~
java foreach是否能對jsonarray進行遍歷
//定義一個String類型的一維數組
String[] names=new String[5];
//為數組賦值
for (int i = 0; i names.length; i++) {
names[i]=Integer.toString(i);
}
//使用foreach遍曆數組
int index=0;
for (String name : names) {
System.out.println(“第”+index+”元素是:”+name);
index++;
}
//使用for遍曆數組
for (int i = 0; i names.length; i++) {
System.out.println(“第”+i+”元素是:”+names[i]);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248596.html