当前位置: 首页 > 知识库问答 >
问题:

无法读取本机JSON数据

储思聪
2023-03-14

我正在尝试使用Android studio构建一个旧项目,但这个过程失败了。我收到的错误信息是:

错误:无法使用JsonReader读取本机JSON数据。setLenient(true)在第1行第1列路径接受格式错误的JSON$

我相信这个建筑。应用程序的gradle文件对错误负责。该文件的代码为:

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
    applicationId "com.example.despoina.ldtest"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
    }
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
        cmake {
            arguments '-DANDROID_PLATFORM=android-13',
                    '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static'
        }
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

sourceSets {
    main {
        // let gradle pack the shared library into apk
        jniLibs.srcDirs += ['../gen-libs/gmp']
        jniLibs.srcDirs += ['../distribution/ecc/lib']
        jniLibs.srcDirs += ['../distribution/smodbus/lib']
        resources.includes = [ 'res/parameters.txt' ]
    }
}

externalNativeBuild {
    cmake {
        path 'src/main/cpp/CMakeLists.txt'
    }
}
}dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:25.2.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.1'
    // uncomment out this one to generate lib binaries,
    // and also uncommented out the one in settings.gradle
    // after lib is generated, just comment them out again
    //implementation project(':gen-libs')
}

任何帮助都将不胜感激!!

共有3个答案

逄学潞
2023-03-14

Gradle output告诉Use JsonReader,这可能与:无法构建项目相同。setLenient(true)在第1行第1列路径接受格式错误的JSON$

这是由于Android Studio build configure出错,请再次尝试清理重建项目。如果它仍然不起作用,你可以将你的项目复制到一个新文件夹,然后通过Android Studio重新打开它。

穆宾白
2023-03-14

第1行和第1列中的错误通常意味着JSON不是真正的JSON。可能服务器正在以HTML或其他形式发送JSON,或者格式可读性不好(UTF-8和ASCII受到很好的支持,但其他编码器可能不支持)。尝试将服务器的响应打印为字节[],并查看哪个是第一个字符。

冯元徽
2023-03-14

最后,我解决了与json宽松模式无关的问题,即我的POST响应有问题(json数据之前还有其他一些非json输出)。

以下是杰克·沃顿关于如何设置Gson宽大模式的回应:

确保你有:compile'com.google.code.gson: gson: 2.6.1'

Gson gson = new GsonBuilder()
        .setLenient()
        .create();

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(BASE_URL)
        .client(client)
        .addConverterFactory(GsonConverterFactory.create(gson))
        .build();

当响应内容类型不是application/json时,也会出现此问题。在我的例子中,响应内容类型是text/html,我面临这个问题。我把它改成了application/json,然后它就可以工作了。

 类似资料:
  • 我已经按照下面的链接使用spring的Swagger为我的REST服务创建API文档。 http://jakubstas.com/spring-jersey-swagger-configuration/#comment-1726 一切都很顺利,但当我试图使用url http://localhost:8080/rest/api-docs访问swagger的api文档时,我发现无法读取swagger

  • 在这里,我使用HttpClient发布JSON数据。但是我无法读取其他应用程序上的数据。当我执行时,它会返回null。我的两个应用程序都部署在同一台服务器上。请告诉我我做错了什么。谢谢

  • 问题内容: 在shell中,我有一个要求,我必须读取以下格式的JSON响应: 在这里,我只关心“ Body”属性值。我做了一些不成功的尝试,例如: 要么 但这还不够。谁能帮我这个? 问题答案: 在命令行上有用于解析json的代码: 访问此以获得jq:https://stedolan.github.io/jq/

  • 问题内容: 我一直在尝试使用nativescript创建一个android应用程序。我正在使用fetch模块从服务器获取响应。当我尝试从 **httpbin.org/get 获取响应时,可以。但是当我尝试获取响应时从我的本地服务器上,我收到 网络请求失败。** 错误。 发送到httpbin.org/get- 发送到localhost:8000 / api- 当我尝试通过请求模块在纯node.js中

  • 我在PySpark中使用AWS胶水作业读取数据时遇到问题: 数据从AWS firehose(示例数据)发送到s3 bucket,存储为JSON并使用snappy hadoop进行压缩。 我可以使用spark.read.json()从遗留的Spark数据框中读取数据,但这不适用于使用from_catalog或from_options方法的Glue动态框架(模式根本没有解析): Spark遗留数据帧

  • 下面是代码、json文件和我在执行代码时得到的异常。 //JSON //读取上述JSON格式时发生异常 04-18 07:07:09.089 314 44-31460/?E/DOINBackgroupExcp:无法读取JSON:无法解析日期值“i”(格式:“YYYY-MM-DD”):无法解析的日期:“i”(通过引用链:com.example.admin.myApplication.ShiftPla