本文目录一览:
C#解析json数组,查询是否有某个值得键。
你的json格式有点问题,应该是不完整且键名不能相同。
下面我写了个相同的程序,希望能符合你的要求,代码如下:
public class KeysInfo {
public KeysInfo() { }
[JsonIgnore]
public string Test { get; set; }
public MyKeys[] mykeys{ get; set; }
}
public class MyKeys
{
public string key0{ get; set; }
public string key1 { get; set; }
public string key2 { get; set; }
public string key3 { get; set; }
public string key4 { get; set; }
public string key5 { get; set; }
public string key6 { get; set; }
public string key7 { get; set; }
}
class Program
{
static void Main(string[] args)
{
string myJson = "{"Test":"2015","MyKeys":[{"key0":"a","key1":"b","key2":"c","key3":"d"},{"key4":"aa","key5":"bb","key6":"cc","key7":"dd"}]}";
// 反序列化json对象
KeysInfo des = JsonConvert.DeserializeObjectKeysInfo(myJson);
if (IsExist(des, "key4", "aa")) Console.WriteLine("存在.n");
else Console.WriteLine("不存在.n");
Console.ReadKey(true);
}
public static bool IsExist(KeysInfo keyInfo, string keyName, string keyValue)
{
for (int i = 0; i keyInfo.mykeys.Count(); i++)
{
// 反射KeysInfo类的属性以及值
foreach (System.Reflection.PropertyInfo pi in keyInfo.mykeys[i].GetType().GetProperties())
{
if (pi.Name == keyName (pi.GetValue(keyInfo.mykeys[i])!=null
pi.GetValue(keyInfo.mykeys[i]).ToString() == keyValue))
return true; // 给定的键名与值存在于json对象
}
}
return false; // 给定的键名与值不存在于json对象
}
}
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的方法。
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应用程序。