在本文中,我们将带你了解JS获取jsonkey和value在这篇文章中,我们将为您详细介绍JS获取jsonkey和value的方方面面,并解答js获取json的key和value常见的疑惑,同时我们还
在本文中,我们将带你了解JS 获取json key和value在这篇文章中,我们将为您详细介绍JS 获取json key和value的方方面面,并解答js获取json的key和value常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的c# 对JSON字符串排序(KEY/VALUE)、Dictionary通过下标获取key和value、for in 循环获取json中的键(key)与值(value)、Gson获取json串中的key-value。
本文目录一览:- JS 获取json key和value(js获取json的key和value)
- c# 对JSON字符串排序(KEY/VALUE)
- Dictionary通过下标获取key和value
- for in 循环获取json中的键(key)与值(value)
- Gson获取json串中的key-value
JS 获取json key和value(js获取json的key和value)
var json= { "Type": "Coding", "Height":100 };
for (var key in json)
{
alert(key); //Type, Height
alert(json[key]); //Coding, 100
}
$.each(json, function(i) {
alert(json[i]); //Coding, 100
alert(i); //Type, Height
});
注意:当json是js对象时,直接遍历的出的key和value的值,
但是当json为数组时遍历出的是1,2,3,4……和object
解决办法1:遍历数组中的每个json对象,在应用上述代码
var json= [{ "Type": "Coding", "Height":100 }]; json为json数组
objJson=eval(''(''+xmlHttp.responseText+'')'');
var arr=new Array();
var arr1=new Array();
var j=0;
for (var i in objJson[0]){//objson[0]为json对象
arr[j]=i; //json key
arr1[j]=objJson[0][i]; //json value
j++;
}
alert(arr);
alert(arr1);
c# 对JSON字符串排序(KEY/VALUE)
public string StortJson(string json)
{
var dic = JsonConvert.DeserializeObject<SortedDictionary<string, object>>(json);
SortedDictionary<string, object> keyValues = new SortedDictionary<string, object>(dic);
keyValues.OrderBy(m => m.Key);//升序 把Key换成Value 就是对Value进行排序
//keyValues.OrderByDescending(m => m.Key);//降序
return JsonConvert.SerializeObject(keyValues);
}
需要添加的引用:
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
Dictionary通过下标获取key和value
Dictionary<int, string> dic = new Dictionary<int, string>();
Dictionary<int, string>.Enumerator en = dic.GetEnumerator();
for (int i = 0; i < dic.Count; i++)
{
if (en.MoveNext())
{
int key = en.Current.Key;
string value = en.Current.Value;
}
}
for in 循环获取json中的键(key)与值(value)
一 .for in 循环
1.获取json中的键(key)与值(value):
var data = {name:''张三'',age:''20岁'',sex:''男''};
for (var a in data) {
console.log(a); /*属性名*/
console.log(data[a]); /*属性值*/
};
2.获取数组中的值
var a = [''apple'',''banana'',''pear''];
for(var i in a){
console.log(i); /*在数组中的位置*/
console.log(a[i]); /*值*/
}
使用for in 可以遍历数组,但是会存在以下问题:
1.index索引为字符串型数字,不能直接进行几何运算
2.遍历顺序有可能不是按照实际数组的内部顺序
3.使用for in会遍历数组所有的可枚举属性,包括原型。
所以for in更适合遍历对象,不要使用for in遍历数组。
除了使用for循环,如何更简单的正确的遍历数组达到我们的期望呢,ES6中的for of会更好一点。
二、for of 方法(ES6)
var newArray=[1,2,4,5,6,7];
for (var value of newArray) {
console.log(value);
注意,for in遍历的是数组的索引(即键名key),而for of遍历的是数组元素值(即value)。
综上,建议for in 循环对象,for of循环数组
Gson获取json串中的key-value
1、依赖包
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.1</version>
</dependency>
2、示例代码
String json = "{\"resultCode\":\"SUCCESS\",\"resultDesc\":\"SUCCESS\",\"userProfile\":{\"userId\":\"901228507\",\"registTime\":\"20180622161442\",\"accounts\":[{\"accountName\":\"123566965\",\"accoutType\":\"MOBILE\",\"bindTime\":null,\"verified\":false,\"accountExtInfo\":null}],\"avatar\":null,\"nickName\":null,\"userRole\":null,\"usernum\":null,\"extInfo\":null}}";
JsonParser parser = new JsonParser();
// 2.获得 根节点元素
JsonElement element = parser.parse(json);
// 3.根据 文档判断根节点属于 什么类型的 Gson节点对象
JsonObject root = element.getAsJsonObject();
String resultCode = root.get("resultCode").getAsString();
System.out.println(resultCode);
// 4. 取得 节点 下 的某个节点的 value
JsonObject userProfile = root.getAsJsonObject("userProfile");
System.out.println(userProfile.get("userId").getAsString());
今天关于JS 获取json key和value和js获取json的key和value的讲解已经结束,谢谢您的阅读,如果想了解更多关于c# 对JSON字符串排序(KEY/VALUE)、Dictionary通过下标获取key和value、for in 循环获取json中的键(key)与值(value)、Gson获取json串中的key-value的相关知识,请在本站搜索。
本文标签: