精华内容
下载资源
问答
  • 这是我写的代码但是循环遍历总是输出前面的字典没有内容,有朋友们知道是为什么吗? <p><img alt="" height="168" src="https://img-ask.csdnimg.cn/upload/1612623667092.png" width="1190" /></p>
  • 如何遍历JSON对象

    2015-05-15 16:50:14
    <script type="text/javascript"> $(document).ready(function() { $.ajax({ ... url: contextBasePath + "/List.action", ... //我如何遍历JSON对象呢 } }); }); </script>
  • } if(json instanceof JSONObject){//json 是一个map //创建一个json对象 JSONObject jsonObj = new JSONObject(); //将json转换为JsonObject对象 JSONObject jsonStr = (JSONObject) json; //迭代器迭代 map集合...

    方法:

    Iterator iter = jsonInfo.entrySet().iterator();

    代码示例:

    public class Test {

    public static void main(String[] args) {

    JSONObject jsonInfo = new JSONObject();

    String key1 = "a";

    jsonInfo.put(key1, "aa");

    String key2 = "b";

    jsonInfo.put(key2, "bb");

    Iterator iter = jsonInfo.entrySet().iterator();

    while (iter.hasNext()) {

    Map.Entry entry = (Map.Entry) iter.next();

    System.out.println(entry.getKey().toString());

    System.out.println(entry.getValue().toString());

    }

    }

    }

    补充:java生成json格式数据 和 java遍历json格式数据

    java 生成json 格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。

    package com.dufy.javatojson;

    import java.util.Iterator;

    import javax.sound.midi.Synthesizer;

    import org.json.JSONArray;

    import org.json.JSONObject;

    public class TraverseJson {

    /**

    * 遍历json格式数据

    * @param json

    * @return

    */

    public static Object traveseJson(Object json){

    if(json == null){

    return null;

    }

    if(json instanceof JSONObject){//json 是一个map

    //创建一个json对象

    JSONObject jsonObj = new JSONObject();

    //将json转换为JsonObject对象

    JSONObject jsonStr = (JSONObject) json;

    //迭代器迭代 map集合所有的keys

    Iterator it = jsonStr.keys();

    while(it.hasNext()){

    //获取map的key

    String key = (String) it.next();

    //得到value的值

    Object value = jsonStr.get(key);

    //System.out.println(value);

    //递归遍历

    jsonObj.put(key, traveseJson(value));

    }

    return jsonObj;

    }else if(json instanceof JSONArray){// if json 是 数组

    JSONArray jsonAry = new JSONArray();

    JSONArray jsonStr = (JSONArray) json;

    //获取Array 的长度

    int length = jsonStr.length();

    for (int i = 0; i

    jsonAry.put(traveseJson(jsonStr.get(i)));

    }

    return jsonAry;

    }else {//其他类型

    return json;

    }

    }

    public static void main(String[] args) {

    System.out.println(traveseJson("传入要遍历的json"));

    // 生成的JSON数据1

    // {

    // "QQ":["742981086@qq.com","742981086"],

    // "age":22,

    // "name":"aflyun",

    // "hobby":["编程","看书","徒步","爬山","游泳"],

    // "adderss":{"省份":"广东","市":"惠州","国籍":"中国"}

    // }

    //创建 一个JsonObjec对象

    JSONObject resJsonObj = new JSONObject();

    //姓名

    resJsonObj.put("name", "aflyun");

    //年龄

    resJsonObj.put("age", 22);

    //联系方式

    JSONArray arryQq = new JSONArray();

    arryQq.put("742981086@qq.com").put("742981086");

    resJsonObj.put("QQ", arryQq);

    //地址 map

    JSONObject jsonAdress = new JSONObject();

    jsonAdress.put("国籍", "中国").put("省份", "广东").put("市", "惠州");

    resJsonObj.put("adderss", jsonAdress);

    //生成数组array

    JSONArray jArray = new JSONArray();

    jArray.put("编程").put("看书").put("徒步").put("爬山").put("游泳");

    resJsonObj.put("hobby", jArray);

    System.out.println(resJsonObj);

    System.err.println(traveseJson(resJsonObj));

    //数组类型的json格式数据生成

    //[

    // {"hello":"你好"},

    // [

    // {"在干嘛":"编程"},

    // ["睡觉了吗","没有","不想睡","醒来了"]

    // ]

    //]

    JSONArray retJson = new JSONArray();

    //hello

    JSONObject aJosn = new JSONObject();

    aJosn.put("hello", "你好");

    retJson.put(aJosn);

    //数组在干嘛和睡觉了吗 组装[]

    JSONArray jsa = new JSONArray();

    JSONObject jOne = new JSONObject();

    jOne.put("在干嘛", "编程");

    JSONArray jTwo = new JSONArray();

    jTwo.put("没有").put("不想睡").put("");

    JSONObject jOne1 = new JSONObject("醒来了");

    jOne1.put("睡觉了吗", jTwo);

    jsa.put(jOne).put(jOne1);

    //将组装好的数据放入要返回的json数组中

    retJson.put(jsa);

    System.out.println("------" + retJson);

    System.err.println("------" + traveseJson(retJson));

    }

    }

    通过运行上面的代码就能生成我们想要的json格式的数据,如下所示:

    {"QQ":["742981086@qq.com","742981086"],"age":22,"name":"aflyun","hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    {"QQ":["742981086@qq.com","742981086"],"name":"aflyun","age":22,"hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    举一反三 就可以生成我们想要的其他的json数据格式。。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    展开全文
  • } if(json instanceof jsonobject){//json 是一个map //创建一个json对象 jsonobject jsonobj = new jsonobject(); //将json转换为jsonobject对象 jsonobject jsonstr = (jsonobject) json; //迭代器迭代 map集合...

    方法:

    iterator iter = jsoninfo.entryset().iterator();

    代码示例:

    public class test {

    public static void main(string[] args) {

    jsonobject jsoninfo = new jsonobject();

    string key1 = "a";

    jsoninfo.put(key1, "aa");

    string key2 = "b";

    jsoninfo.put(key2, "bb");

    iterator iter = jsoninfo.entryset().iterator();

    while (iter.hasnext()) {

    map.entry entry = (map.entry) iter.next();

    system.out.println(entry.getkey().tostring());

    system.out.println(entry.getvalue().tostring());

    }

    }

    }

    补充:java生成json格式数据 和 java遍历json格式数据

    java 生成json 格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。

    package com.dufy.javatojson;

    import java.util.iterator;

    import javax.sound.midi.synthesizer;

    import org.json.jsonarray;

    import org.json.jsonobject;

    public class traversejson {

    /**

    * 遍历json格式数据

    * @param json

    * @return

    */

    public static object travesejson(object json){

    if(json == null){

    return null;

    }

    if(json instanceof jsonobject){//json 是一个map

    //创建一个json对象

    jsonobject jsonobj = new jsonobject();

    //将json转换为jsonobject对象

    jsonobject jsonstr = (jsonobject) json;

    //迭代器迭代 map集合所有的keys

    iterator it = jsonstr.keys();

    while(it.hasnext()){

    //获取map的key

    string key = (string) it.next();

    //得到value的值

    object value = jsonstr.get(key);

    //system.out.println(value);

    //递归遍历

    jsonobj.put(key, travesejson(value));

    }

    return jsonobj;

    }else if(json instanceof jsonarray){// if json 是 数组

    jsonarray jsonary = new jsonarray();

    jsonarray jsonstr = (jsonarray) json;

    //获取array 的长度

    int length = jsonstr.length();

    for (int i = 0; i

    jsonary.put(travesejson(jsonstr.get(i)));

    }

    return jsonary;

    }else {//其他类型

    return json;

    }

    }

    public static void main(string[] args) {

    system.out.println(travesejson("传入要遍历的json"));

    // 生成的json数据1

    // {

    // "qq":["742981086@qq.com","742981086"],

    // "age":22,

    // "name":"aflyun",

    // "hobby":["编程","看书","徒步","爬山","游泳"],

    // "adderss":{"省份":"广东","市":"惠州","国籍":"中国"}

    // }

    //创建 一个jsonobjec对象

    jsonobject resjsonobj = new jsonobject();

    //姓名

    resjsonobj.put("name", "aflyun");

    //年龄

    resjsonobj.put("age", 22);

    //联系方式

    jsonarray arryqq = new jsonarray();

    arryqq.put("742981086@qq.com").put("742981086");

    resjsonobj.put("qq", arryqq);

    //地址 map

    jsonobject jsonadress = new jsonobject();

    jsonadress.put("国籍", "中国").put("省份", "广东").put("市", "惠州");

    resjsonobj.put("adderss", jsonadress);

    //生成数组array

    jsonarray jarray = new jsonarray();

    jarray.put("编程").put("看书").put("徒步").put("爬山").put("游泳");

    resjsonobj.put("hobby", jarray);

    system.out.println(resjsonobj);

    system.err.println(travesejson(resjsonobj));

    //数组类型的json格式数据生成

    //[

    // {"hello":"你好"},

    // [

    // {"在干嘛":"编程"},

    // ["睡觉了吗","没有","不想睡","醒来了"]

    // ]

    //]

    jsonarray retjson = new jsonarray();

    //hello

    jsonobject ajosn = new jsonobject();

    ajosn.put("hello", "你好");

    retjson.put(ajosn);

    //数组在干嘛和睡觉了吗 组装[]

    jsonarray jsa = new jsonarray();

    jsonobject jone = new jsonobject();

    jone.put("在干嘛", "编程");

    jsonarray jtwo = new jsonarray();

    jtwo.put("没有").put("不想睡").put("");

    jsonobject jone1 = new jsonobject("醒来了");

    jone1.put("睡觉了吗", jtwo);

    jsa.put(jone).put(jone1);

    //将组装好的数据放入要返回的json数组中

    retjson.put(jsa);

    system.out.println("------" + retjson);

    system.err.println("------" + travesejson(retjson));

    }

    }

    通过运行上面的代码就能生成我们想要的json格式的数据,如下所示:

    {"qq":["742981086@qq.com","742981086"],"age":22,"name":"aflyun","hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    {"qq":["742981086@qq.com","742981086"],"name":"aflyun","age":22,"hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    举一反三 就可以生成我们想要的其他的json数据格式。。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持萬仟网。如有错误或未考虑完全的地方,望不吝赐教。

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • 问题我的问题。很简单但没有人问过它也没有回答...但是,我不知道如何遍历每个项目并获取其键字符串和值字符串。任何人都可以提供使用JSONObject的有效代码吗?我真正想要的是获得每个项目的关键和价值,而不是预先...

    问题

    我的问题。很简单但没有人问过它也没有回答过。

    我有一个扁平的JSON:

    {"number1":"value1", "number2":"value2", "number3":"value3" }

    我可以将它设置为JSONObject就好了。但是,我不知道如何遍历每个项目并获取其键字符串和值字符串。

    任何人都可以提供使用JSONObject的有效代码吗?我真正想要的是获得每个项目的关键和价值,而不是预先知道关键和价值。

    提前致谢。

    #1 热门回答(271 赞)

    使用338826870iterator迭代所有属性,并为每个属性调用get()。

    Iterator iter = json.keys();

    while (iter.hasNext()) {

    String key = iter.next();

    try {

    Object value = json.get(key);

    } catch (JSONException e) {

    // Something went wrong!

    }

    }

    #2 热门回答(63 赞)

    弗朗西答案的简短版本:

    for(Iterator iter = json.keys();iter.hasNext();) {

    String key = iter.next();

    ...

    }

    #3 热门回答(3 赞)

    你应该使用keys()或names()method.keys()给你一个包含对象中所有String属性名称的迭代器,而names()将为你提供一个包含所有关键字符串名称的数组。

    展开全文
  • } if(json instanceof JSONObject){//json 是一个map //创建一个json对象 JSONObject jsonObj = new JSONObject(); //将json转换为JsonObject对象 JSONObject jsonStr = (JSONObject) json; //迭代器迭代 map集合...

    方法:

    Iterator iter = jsonInfo.entrySet().iterator();

    代码示例:

    public class Test {

    public static void main(String[] args) {

    JSONObject jsonInfo = new JSONObject();

    String key1 = "a";

    jsonInfo.put(key1, "aa");

    String key2 = "b";

    jsonInfo.put(key2, "bb");

    Iterator iter = jsonInfo.entrySet().iterator();

    while (iter.hasNext()) {

    Map.Entry entry = (Map.Entry) iter.next();

    System.out.println(entry.getKey().toString());

    System.out.println(entry.getValue().toString());

    }

    }

    }

    补充:java生成json格式数据 和 java遍历json格式数据

    java 生成json 格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。

    package com.dufy.javatojson;

    import java.util.Iterator;

    import javax.sound.midi.Synthesizer;

    import org.json.JSONArray;

    import org.json.JSONObject;

    public class TraverseJson {

    /**

    * 遍历json格式数据

    * @param json

    * @return

    */

    public static Object traveseJson(Object json){

    if(json == null){

    return null;

    }

    if(json instanceof JSONObject){//json 是一个map

    //创建一个json对象

    JSONObject jsonObj = new JSONObject();

    //将json转换为JsonObject对象

    JSONObject jsonStr = (JSONObject) json;

    //迭代器迭代 map集合所有的keys

    Iterator it = jsonStr.keys();

    while(it.hasNext()){

    //获取map的key

    String key = (String) it.next();

    //得到value的值

    Object value = jsonStr.get(key);

    //System.out.println(value);

    //递归遍历

    jsonObj.put(key, traveseJson(value));

    }

    return jsonObj;

    }else if(json instanceof JSONArray){// if json 是 数组

    JSONArray jsonAry = new JSONArray();

    JSONArray jsonStr = (JSONArray) json;

    //获取Array 的长度

    int length = jsonStr.length();

    for (int i = 0; i

    jsonAry.put(traveseJson(jsonStr.get(i)));

    }

    return jsonAry;

    }else {//其他类型

    return json;

    }

    }

    public static void main(String[] args) {

    System.out.println(traveseJson("传入要遍历的json"));

    // 生成的JSON数据1

    // {

    // "QQ":["742981086@qq.com","742981086"],

    // "age":22,

    // "name":"aflyun",

    // "hobby":["编程","看书","徒步","爬山","游泳"],

    // "adderss":{"省份":"广东","市":"惠州","国籍":"中国"}

    // }

    //创建 一个JsonObjec对象

    JSONObject resJsonObj = new JSONObject();

    //姓名

    resJsonObj.put("name", "aflyun");

    //年龄

    resJsonObj.put("age", 22);

    //联系方式

    JSONArray arryQq = new JSONArray();

    arryQq.put("742981086@qq.com").put("742981086");

    resJsonObj.put("QQ", arryQq);

    //地址 map

    JSONObject jsonAdress = new JSONObject();

    jsonAdress.put("国籍", "中国").put("省份", "广东").put("市", "惠州");

    resJsonObj.put("adderss", jsonAdress);

    //生成数组array

    JSONArray jArray = new JSONArray();

    jArray.put("编程").put("看书").put("徒步").put("爬山").put("游泳");

    resJsonObj.put("hobby", jArray);

    System.out.println(resJsonObj);

    System.err.println(traveseJson(resJsonObj));

    //数组类型的json格式数据生成

    //[

    // {"hello":"你好"},

    // [

    // {"在干嘛":"编程"},

    // ["睡觉了吗","没有","不想睡","醒来了"]

    // ]

    //]

    JSONArray retJson = new JSONArray();

    //hello

    JSONObject aJosn = new JSONObject();

    aJosn.put("hello", "你好");

    retJson.put(aJosn);

    //数组在干嘛和睡觉了吗 组装[]

    JSONArray jsa = new JSONArray();

    JSONObject jOne = new JSONObject();

    jOne.put("在干嘛", "编程");

    JSONArray jTwo = new JSONArray();

    jTwo.put("没有").put("不想睡").put("");

    JSONObject jOne1 = new JSONObject("醒来了");

    jOne1.put("睡觉了吗", jTwo);

    jsa.put(jOne).put(jOne1);

    //将组装好的数据放入要返回的json数组中

    retJson.put(jsa);

    System.out.println("------" + retJson);

    System.err.println("------" + traveseJson(retJson));

    }

    }

    通过运行上面的代码就能生成我们想要的json格式的数据,如下所示:

    {"QQ":["742981086@qq.com","742981086"],"age":22,"name":"aflyun","hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    {"QQ":["742981086@qq.com","742981086"],"name":"aflyun","age":22,"hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}}

    ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]

    举一反三 就可以生成我们想要的其他的json数据格式。。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持聚米学院。如有错误或未考虑完全的地方,望不吝赐教。

    展开全文
  • 为了正确执行此操作,您需要遍历JSON对象中的每个键。您可以通过几种方法来执行此操作,其中之一是使用Object.keys()。像下面的代码片段。此解决方案遍历JSON对象中的每个键,并将其推入数组。一旦有了该数组,就...
  • 如果不指定,该如何处理? 我的想法是,这个json参数有一个默认值,调用方指定的属性,当然采用调用方的指定;否则采用默认值。具体实现就是将传过来的json参数与默认json参数做个属性一一对照,有...
  • 我很难理解如何循环下面的json对象[{"course_slug":"course-4504","course_description":"A principle refers to a fundamental truth. It establishes cause and effect relationship between t...","course_name":...
  • 我想要遍历 JSON 对象树中,...在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuery 是什么样的overkill这种原始的任务,你可以这样做: 1 //your object 2 var o = { 3 foo:"...
  • } if(json instanceof JSONObject){//json 是一个map //创建一个json对象 JSONObject jsonObj = new JSONObject(); //将json转换为JsonObject对象 JSONObject jsonStr = (JSONObject) json; //迭代器迭代 map集合...
  • 1.情景展示现在已知字符串为:[{"name":"微微笑","img":"http://zos.alipayobjects.com/rmsportal/TbDyUuhymEDMHWiKAqUw.png"},{"name":"羞羞","img":...
  • <p>How would I access the [0] -> Array() located below and ...<p>This JSON code was generated from an XML document using json_encode and then decoded using json_decode into a JSON object. </div>
  • 我正在尝试遍历json文件并获取所需的详细信息,这是我的json{"000": {"component": "c","determinantType": "dt","determinant": "d","header": "h","determinantvalue": "null"},"001": {"component": "t",...
  • 如何遍历java对象属性

    2020-04-30 17:57:43
    使用场景 后台接收客户端传过来的值,经过相应的处理和操作,对数据库进行CURD操作。...所以,更有效的方式是遍历json对象,数据表对象根据参数名称识别对应插入值的字段。 获取对象的所有属性 Field[] field =...
  • 我不知道如何遍历一个深度超过1层的JSON对象。目标是:{"data":[{"id":"251228454889939/insights/page_fan_adds_unique/day","name":"page_fan_adds_unique","period":"day","values":[{"value":9,"end_time":"2012...
  • 当遇到一个JSON格式的对象时,不知道它有多少个属性,也不知道有什么属性,该如何遍历它的属性及其属性值呢??? 还是使用Java语言还是很像的,使用for语句。 var obj = data[i]; for(var p in obj){ alert...
  • 首先声明,本人是菜鸟级别,根据自己的理解,来探讨json的遍历,如有不对,请多多...遍历json返回的数据关键要分清楚是对象还是数组 先来介绍几种遍历的方法: js遍历方法 //数组var list1=["aa","bb","cc","d...
  • 目前我已经在python中将http内容解析为字符串,其中包含json对象数组,我的代码如下所示import jsonfrom urllib.request import urlopenapilink=urlopen("api link")data=json.loads(apilink.read().decode())print...
  • 如何遍历map与JSON

    2021-03-12 12:07:36
    Map与json中含有多个对象时使用遍历遍历中的变量为索引(1,2等),遍历下可以用map或json对象[索引].key值,遍历出其value值。 若只有一个对象时,遍历中变量为key值,遍历下用map或json对象[key]遍历出所有...
  • 这种问题,在网上搜,居然没有答案,又是一堆垃圾,连谷歌上都搜不到。老实说,我喜欢这边的工作环境,可以上谷歌,毕竟是大公司,有自己的...JObject json = //获得一个JObject对象 /* { "records": [ { "ID":...
  • 生成JSON数据,发送到前端。 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/json;charset=UTF-8"); resp.set...
  • Tried with converting them to a simple array with json_decode but it just not clear as to what to loop. <p>Here it is: <pre><code>SimpleXMLElement Object ( [@attributes] => Array ( [name] =...
  • 我在前台JS文件里得到的数据,请问我该怎样遍历它呢?谢谢··· [{"address":"sadfghjk","email":"username1@foxmial.com","userName":"username1"}] [{"address":"sadfghj1","email":"username2@foxmial.com",...
  • JSON如何遍历和获取他的长度 我们知道在Array中,获取她的长度是很简单的,直接通过length树形就可以获取的到,非常的方便。 但是:JSON是没有这个属性的,所以也就不存在可以通过这个方法来获取JSON的个数,那么该...
  • json对象遍历的方法 for(var k in obj)

    千次阅读 2019-02-20 20:45:10
    3.遍历json对象时,k是冒号前面的值,json[k]是冒号后面的值。   小例子1:如何获取所有的值。 第一个大括号冒号前面跟后面的内容为键值对。 第二个大括号里面为属性跟内容。 var data = { “...
  • 假设我们从服务器端获取如下的json串,其中包括数组。我们该如何遍历读取呢? {"result":null,"rows":[{"caishen":"东","fushen":"西北","huajiazi":"甲子","id":1,"nayin":"大海水","shengmen":"南","...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

如何遍历json对象