<script type="text/javascript">
getJson('age');
function getJson(key){
var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"};
//1、使用eval方法
var eValue=eval('jsonObj.'+key);
alert(eValue);
//2、遍历Json串获取其属性
for(var item in jsonObj){
if(item==key){ //item 表示Json串中的属性,如'name'
var jValue=jsonObj[item];//key所对应的value
alert(jValue);
}
}
//3、直接获取
alert(jsonObj[''+key+'']);
}
</script>
-
获取json对象中的值和key_c# Json的动态解析
2020-12-15 13:32:33Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和修改部分的数据而非反序列化全部.二.创建...Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和修改部分的数据而非反序列化全部.
二.创建JSON数组和对象
在进行Linq to JSON之前,首先要了解一下用于操作Linq to JSON的类.
类名 说明 JObject
用于操作JSON对象
JArray
用语操作JSON数组
JValue
表示数组中的值
JProperty
表示对象中的属性,以"key/value"形式
JToken
用于存放Linq to JSON查询后的结果
1.创建JSON对象JObject staff = new JObject();
staff.Add(new JProperty("Name", "Jack"));
staff.Add(new JProperty("Age", 33));
staff.Add(new JProperty("Department", "Personnel Department"));
staff.Add(new JProperty("Leader", new JObject(new JProperty("Name", "Tom"), new JProperty("Age", 44), new JProperty("Department", "Personnel Department"))));
Console.WriteLine(staff.ToString());结果:
除此之外,还可以通过一下方式来获取JObject.JArray类似。
方法 说明 JObject.Parse(string json)
json含有JSON对象的字符串,返回为JObject对象 JObject.FromObject(object o)
o为要转化的对象,返回一个JObject对象
JObject.Load(JsonReader reader)
reader包含着JSON对象的内容,返回一个JObject对象 2.创建JSON数组
JArray arr = new JArray();
arr.Add(new JValue(1));
arr.Add(new JValue(2));
arr.Add(new JValue(3));
Console.WriteLine(arr.ToString());结果:
三.使用Linq to JSON
1.查询
首先准备Json字符串,是一个包含员工基本信息的Jsonstring json = "{\"Name\" : \"Jack\", \"Age\" : 34, \"Colleagues\" : [{\"Name\" : \"Tom\" , \"Age\":44},{\"Name\" : \"Abel\",\"Age\":29}] }";
①获取该员工的姓名
//将json转换为JObject
JObject jObj = JObject.Parse(json);
//通过属性名或者索引来访问,仅仅是自己的属性名,而不是所有的
JToken ageToken = jObj["Age"];
Console.WriteLine(ageToken.ToString());结果:
②获取该员工同事的所有姓名
//将json转换为JObject
JObject jObj = JObject.Parse(json);
var names=from staff in jObj["Colleagues"].Children()
select (string)staff["Name"];
foreach (var name in names)
Console.WriteLine(name);"Children()"可以返回所有数组中的对象
结果:
2.修改
①现在我们发现获取的json字符串中Jack的年龄应该为35
//将json转换为JObject
JObject jObj = JObject.Parse(json);
jObj["Age"] = 35;
Console.WriteLine(jObj.ToString());结果:
注意不要通过以下方式来修改:
JObject jObj = JObject.Parse(json);
JToken age = jObj["Age"];
age = 35;②现在我们发现Jack的同事Tom的年龄错了,应该为45
//将json转换为JObject
JObject jObj = JObject.Parse(json);
JToken colleagues = jObj["Colleagues"];
colleagues[0]["Age"] = 45;
jObj["Colleagues"] = colleagues;//修改后,再赋给对象
Console.WriteLine(jObj.ToString());结果:
3.删除
①现在我们想删除Jack的同事JObject jObj = JObject.Parse(json);
jObj.Remove("Colleagues");//跟的是属性名称
Console.WriteLine(jObj.ToString());结果:
②现在我们发现Abel不是Jack的同事,要求从中删除
JObject jObj = JObject.Parse(json);
jObj["Colleagues"][1].Remove();
Console.WriteLine(jObj.ToString());结果:
4.添加
①我们发现Jack的信息中少了部门信息,要求我们必须添加在Age的后面//将json转换为JObject
JObject jObj = JObject.Parse(json);
jObj["Age"].Parent.AddAfterSelf(new JProperty("Department", "Personnel Department"));
Console.WriteLine(jObj.ToString());结果:
②现在我们又发现,Jack公司来了一个新同事Linda
//将json转换为JObject
JObject jObj = JObject.Parse(json);
JObject linda = new JObject(new JProperty("Name", "Linda"), new JProperty("Age", "23"));
jObj["Colleagues"].Last.AddAfterSelf(linda);
Console.WriteLine(jObj.ToString());结果:
四.简化查询语句
使用函数SelectToken可以简化查询语句,具体:
①利用SelectToken来查询名称JObject jObj = JObject.Parse(json);
JToken name = jObj.SelectToken("Name");
Console.WriteLine(name.ToString());结果:
②利用SelectToken来查询所有同事的名字
JObject jObj = JObject.Parse(json);
var names = jObj.SelectToken("Colleagues").Select(p => p["Name"]).ToList();
foreach (var name in names)
Console.WriteLine(name.ToString());结果:
③查询最后一名同事的年龄
//将json转换为JObject
JObject jObj = JObject.Parse(json);
var age = jObj.SelectToken("Colleagues[1].Age");
Console.WriteLine(age.ToString());结果:
FAQ
1.如果Json中的Key是变化的但是结构不变,如何获取所要的内容?
例如:
1 {
2 "trends":
3 {
4 "2013-05-31 14:31":
5 [
6 {"name":"我不是谁的偶像",
7 "query":"我不是谁的偶像",
8 "amount":"65172",
9 "delta":"1596"},
10 {"name":"世界无烟日","query":"世界无烟日","amount":"33548","delta":"1105"},
11 {"name":"最萌身高差","query":"最萌身高差","amount":"32089","delta":"1069"},
12 {"name":"中国合伙人","query":"中国合伙人","amount":"25634","delta":"2"},
13 {"name":"exo回归","query":"exo回归","amount":"23275","delta":"321"},
14 {"name":"新一吻定情","query":"新一吻定情","amount":"21506","delta":"283"},
15 {"name":"进击的巨人","query":"进击的巨人","amount":"20358","delta":"46"},
16 {"name":"谁的青春没缺失","query":"谁的青春没缺失","amount":"17441","delta":"581"},
17 {"name":"我爱幸运七","query":"我爱幸运七","amount":"15051","delta":"255"},
18 {"name":"母爱10平方","query":"母爱10平方","amount":"14027","delta":"453"}
19 ]
20 },
21 "as_of":1369981898
22 }其中的"2013-05-31 14:31"是变化的key,如何获取其中的"name","query","amount","delta"等信息呢?
通过Linq可以很简单地做到:var jObj = JObject.Parse(jsonString);
var tends = from c in jObj.First.First.First.First.Children()
select JsonConvert.DeserializeObject(c.ToString());
public class Trend
{
public string Name { get; set; }
public string Query { get; set; }
public string Amount { get; set; }
public string Delta { get; set; }
}出处:https://www.cnblogs.com/klsw/p/5904573.html
版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。
-
js获取json对象的key值
2015-09-10 16:22:00if(item==key){ //item 表示Json串中的属性,如'name' var jValue=jsonObj[item];//key所对应的value alert(jValue); } } //3、直接获取 alert(jsonObj[''+key+'']); } ...转载于:https://my.oschina.net/hehongbo/blog/504523
-
根据json中的key获取json对象中的value值
2020-01-10 15:29:08*注意 该方法只获取第一次出现的key对应的value public static String getJsonValue(String key, String jsonString) { //使用非贪婪模式 StringBuffer regex = new StringBuffer(); regex.append("\""); ...*注意 该方法只获取第一次出现的key对应的value
public static String getJsonValue(String key, String jsonString) { //使用非贪婪模式 StringBuffer regex = new StringBuffer(); regex.append("\""); regex.append(key); regex.append("\":\"(.*?)\\\""); Matcher matcher = Pattern.compile(regex.toString()).matcher(jsonString); String ret = null; while (matcher.find()) { ret = matcher.group(1); if (ret != null) { break; } } return ret; }
测试
public static void main(String[] args) { String parem = "{\"appId\":\"123\",\"age\":0,\"name\":\"string\",\"prive\":{\"asg\":\"789\",\"sex\":\"string\"}}"; System.out.println(getJsonValue("appId", parem)); }
结果
-
JS获取JSON对象键值对中key值的方法
2019-03-06 17:18:19一、使用 Object.keys(obj)方法获取 JSON对象的key值。 Object.keys( ) 会返回一个数组,数组中是这个对象的key值列表。 Polyfill 要在原生不支持的旧环境中添加兼容的Object.keys,请复制以下代码段: if ...一、使用 Object.keys(obj)方法获取 JSON对象的key值。
Object.keys( ) 会返回一个数组,数组中是这个对象的key值列表。
Polyfill
要在原生不支持的旧环境中添加兼容的
Object.keys
,请复制以下代码段:if (!Object.keys) { Object.keys = (function () { var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'), dontEnums = [ 'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor' ], dontEnumsLength = dontEnums.length; return function (obj) { if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) throw new TypeError('Object.keys called on non-object'); var result = []; for (var prop in obj) { if (hasOwnProperty.call(obj, prop)) result.push(prop); } if (hasDontEnumBug) { for (var i=0; i < dontEnumsLength; i++) { if (hasOwnProperty.call(obj, dontEnums[i])) result.push(dontEnums[i]); } } return result; } })() };
-
js map 根据key取值_Js 怎么获取json对象所有key及根据动态key获取值(根据key值获取相应的value值)...
2020-12-20 22:41:40请问大佬们,Js 怎么获取json对象所有key及根据动态key获取值(根据key值获取相应的value值),将key,value在页面上显示如下图`var Test ={"ftc下限": 30,"参考点01图像坐标": [0, 0],"参考点01物理坐标": [0, 0],... -
获取json对象中的值和key_骚操作!嵌套 JSON 秒变 Dataframe!
2020-12-03 09:58:42来源:Python数据科学作者:东哥起飞调用API和文档数据库会返回嵌套的JSON对象,当我们使用Python尝试将嵌套结构中的键转换为列时,数据加载到pandas中往往会得到如下结果:df=pd.DataFrame.from_records(results[... -
java获取json对象中的值和key_用 Python 操作 JSON 类型数据详解
2020-11-27 09:44:46JSON简介JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一... -
获取json对象中的值和key_从几亿的坑爹项目说JSON格式的比较的实现
2020-12-03 09:30:54所在项目组,不对应该说是小作坊,根据甲方爸爸的要求需要接入该集中的项目,其实就是一个统一的API网关(当然现在本来就是用的统一API网关,只是这次的更集中话了而已)。因此需要我们配合测试API是否正常,数据是否... -
JSON对象中获取指定key的值
2021-01-22 14:56:14平时处理Json对象时,想获取JSON对象中获取指定key的值,如下图,想直接取到"result"、"status"的值。 { "code":0, "message":"ok", "body":{ "result":"success", "status":"1" } } 下面以get类型http请求... -
JavaScript中获取json所有的Key作为一个数组,并利用变量作为json对象的KEY,来获取属性值。
2020-07-13 10:33:00json对象要回去某个属性的值,一般都是根据键值key来获取,json.a="",但是有时候,需要动态的传键值Key来获取对应的属性值 实现方式: 1、获取json多有的key值,作为一个数组 var data={k:'aa',b:'aaa'}; var ... -
C#获取动态key的json对象的值
2016-10-20 15:56:34C#获取json动态key的值如果直接获取某个json数组中的元素将得到如下的json{ "44": { "height": 25, "appeared": -70000000, "length": 44, "order": "saurischia", "vanished": -70000000, -
C# 获取动态key的json对象的值案例
2021-03-01 21:58:44问题描述 如果直接获取某个json数组中的元素将得到如下的json ...这个json对象如果使用C#类来反序列化,那么实体类的结构如下,实体类的类名需要与json对象key相同的才可以使用json反序列化,这样对程序造成了极大的不 -
javascript获取json对象的key名称的两种方法
2017-05-06 17:14:00javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来。今天试过两种可以提取json key的方法,均可以正常工作。 先看第一种方法 jsonObj ... -
jquery获取json对象中的key小技巧
2017-10-13 18:00:00jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 18}; 想分别获取它的key 和 value 小技巧来啦 for (var key in json) { console.log(key); //获取key值 ... -
获取json对象中的key小技巧
2019-04-28 23:49:26比如有一个json ...想分别获取它的key 和 value for (var key in json) { console.log(key); //获取key值 console.log(json[key]); //获取对应的value值 } 还要一种方法用jquery回调函数完成的 ... -
jQuery怎么获取json对象数组中的key
2019-03-04 22:01:19jQuery怎么获取json对象数组中的key var json = {“name” : “Tom”, “age” : 18}; 想分别获取它的key 和 value for (var key in json) { console.log(key); //获取key值 console.log(json[key]); //获取对应的... -
JS文件中定义json对象,并动态获取key的值添加到json对象中
2020-03-01 15:51:00JS文件中定义json对象: var jsonObj = { 'param1': 22 } 控制台输出: ...给json对象添加动态获取到的值 var test = ['aad', 'adsf'] for (let i = 0; i < test.length; i++) { jsonObj[t... -
js获取json对象中的key和value
2019-03-25 09:43:27原文链接 //比如有一个json ...//想分别获取它的key 和 value //小技巧来啦 for (var key in json) { console.log(key); //获取key值 console.log(json[key]); //获取对应的value值 } //还要一种方... -
js遍历json对象所有key及根据动态key获取值的方法(必看)
2020-10-20 05:52:55下面小编就为大家带来一篇js遍历json对象所有key及根据动态key获取值的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
jquery获取json对象中的key小技巧,遍历json串所有key,value
2018-01-17 09:58:00比如有一个json var json = {"name" : ...想分别获取它的key 和 value for (var key in json) { console.log(key); //获取key值 console.log(json[key]); //获取对应的value值 } 还要一种方法用jquer... -
Js 怎么遍历json对象所有key及根据动态key获取值(根据k值获取相应的value值)
2017-05-01 11:48:58Js代码 <script type="text/javascript"> getJson('age');...function getJson(key){ var jsonObj={"name":"张三","age":"24","profession":"工程师"}; //1、使用eval方法 var eValue=eval('... -
Js 怎么遍历json对象所有key及根据动态key获取值(根据key值获取相应的value值)...
2019-04-13 10:43:00Js代码 <script type="text/javascript">...function getJson(key){ var jsonObj={"name":"张三","age":"24","profession":"工程师"}; 遍历Json串获取其属性 for(var item in jsonObj){ ... -
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2021-01-19 15:13:25不废话了,直接贴代码了,通过示例一讲解JS根据key值获取URL中的参数值及把URL的参数转换成json对象,示例二讲解js获取url传递参数,具体内容请看下文 示例一: //把url的参数部分转化成json对象 ...