本文目录一览:
- 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]);
}