热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidJson数据解析是''[]'',数据解析失败-AndroidJsondataparsingis''[]'',Dataparsingfailed

Recently,Itriedtocodealistoflinkman.Iwanttoobtaininglocaldatafile(City.json)andpars

Recently, I tried to code a list of linkman. I want to obtaining local data file(City.json) and parsing into listView. However ,the data from JsonObject always null. Help me please. I'm a Newbie. Thanks in advance. the code under:

最近,我试图编写一个链接列表。我想获取本地数据文件(City.json)并解析为listView。但是,JsonObject的数据始终为null。请帮帮我。我是新手。提前致谢。代码在:

City.json

{
//    "state": 1,
    "datas": [
        {
            "id": "820",
            "name": "安阳",
            "sortKey": "A"
        },
        {
            "id": "68",
            "name": "安庆",
            "sortKey": "A"
        },
        {
            "id": "1269",
            "name": "鞍山",
            "sortKey": "A"
        },
        {
            "id": "22",
            "name": "蚌埠",
            "sortKey": "B"
        },
        {
            "id": "1372",
            "name": "包头",
            "sortKey": "B"
        },
        {
            "id": "2419",
            "name": "北京",
            "sortKey": "B"
        },
        {
            "id": "649",
            "name": "保定",
            "sortKey": "B"
        },
        {
            "id": "1492",
            "name": "宝鸡",
            "sortKey": "B"
        },
        {
            "id": "2419",
            "name": "北京",
            "sortKey": "B"
        },
        {
            "id": "649",
            "name": "保定",
            "sortKey": "B"
        },
        {
            "id": "1492",
            "name": "宝鸡",
            "sortKey": "B"
        },
        {
            "id": "2419",
            "name": "北京",
            "sortKey": "B"
        },
        {
            "id": "649",
            "name": "保定",
            "sortKey": "B"
        },
        {
            "id": "1492",
            "name": "宝鸡",
            "sortKey": "B"
        },
        {
            "id": "2419",
            "name": "北京",
            "sortKey": "B"
        },
        {
            "id": "649",
            "name": "保定",
            "sortKey": "B"
        },
        {
            "id": "1492",
            "name": "宝鸡",
            "sortKey": "B"
        }
    ]

}

AppFileReader.java

package me.sitinglin.administrator.wecharlinkmantest;

import android.content.Context;
import android.content.res.AssetManager;
import android.util.Log;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

/**
 * Created by Administrator on 2016/10/12.
 */

public class AppJsonFileReader {

    public static String getJson(Context context, String fileName){
        StringBuilder builder = new StringBuilder();
        AssetManager manager = context.getAssets();
        try {
            InputStream stream = manager.open(fileName);
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
            String line = null;
            while((line = bufferedReader.readLine())!=null){
                builder.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
//        Log.i("abc", builder.toString()); 
        return builder.toString();
    }
    public static List setData(String str){
        List list = new ArrayList<>();
        City city ;
        try {
            JSONObject result = new JSONObject(str);
            JSONArray array = result.getJSONArray("datas");
//            JSONArray array =new JSONArray(result);

            int len = array.length();
            Log.i("len", array.toString());
            for (int i = 0; i 

this my context of logcat

这是我的logcat上下文

enter image description here

3 个解决方案

#1


0  

You should go with following code :

你应该使用以下代码:

JSONObject jobj  = new JSONObject(str);

if(jobj.has("datas")){    
    JSONArray jsOnArray= jobj.getJSONArray("datas");
    List list = new ArrayList<>();

    for (int i = 0; i 

Hope this will help you.

希望这会帮助你。

#2


1  

Try this:

try {
    JSONObject result = new JSONObject(str); 

    JSONArray jsOnArray= result.getJSONArray("datas");

    for (int i = 0; i 

#3


0  

I found 3 solution to solve this.i will list 3 things that i've solved below and one of the 3 solutions may helped you. there are three point which one of three point maybe help U : 1. checking out the [local file name] of JSON; 2. checking out variale is "public " or "private"..; 3.checking out some Json method whether you are uesing correct? Aha...

我找到了解决这个问题的3个解决方案。我将列出我在下面解决的3件事,其中3个解决方案可能对你有帮助。有三点可以帮助U点:1。检查JSON的[本地文件名]; 2. check out变量是“公共”或“私人”..; 3.检查一些Json方法你是否正确使用?啊哈...


推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
author-avatar
dreamingsue
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有