zhangdaopin2016 2017-06-02 03:11 采纳率: 70%
浏览 1160
已采纳

JAVA JSON遍历问题,求解(内附代码)

 package testJSON;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TestJson2 {
public static void main(String[] args) {
    String str = "{\"data\":[{\"id\":\"1\",\"name\":\"name1\"},"
            + "{\"id\":\"2\",\"name\":\"Zname2.0\",\"name\":\"Dname2.1\",\"name\":\"Pname2.2\",\"name\":\"Zname2.3\"},{\"id\":\"3\",\"name\":\"name3\"},]}";
    //
    JSONObject jsonObject = JSONObject.fromObject(str);  
    JSONArray result = jsonObject.getJSONArray("data");
    //System.out.println(result);
    for (int i = 0; i < result.size(); i++) {
        String id = result.getJSONObject(i).getString("id");
        if(id.equals("2")){
            String name = result.getJSONObject(i).getString("name");
            System.out.println(name);//["Zname2.0","Dname2.1","Pname2.2","Zname2.3"]

            //怎么取出["Zname2.0","Dname2.1","Pname2.2","Zname2.3"]中的"Dname2.1"????

        }
    }
}
}
  • 写回答

5条回答

  • Rains_ 2017-06-02 03:28
    关注

    String[] strs=name.split(",");
    List asList = Arrays.asList(strs);
    System.out.println(asList.get(1));

    先分割成数组,然后转成集合,最后直接取下标

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题