JSONObject在Android Main方法中无法实例化问题

news2024/11/27 4:41:03

目录

  • 前言
  • 一、Main(非安卓环境)方法下运行
  • 二、安卓坏境下运行
  • 三、why?


前言

原生的json,即org.json.JSONObject; 在Android Studio中的Main方法里运行报错,但在安卓程序运行过程正常

一、Main(非安卓环境)方法下运行

    static void test() {
        try {
            // 创建一个 JSON 对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "Alice");
            jsonObject.put("age", 25);

            // 将 JSON 对象转换为字符串
            String jsonString = jsonObject.toString();

            // 解析 JSON 字符串
            JSONObject parsedObject = new JSONObject(jsonString);
            String name = parsedObject.optString("name");
            int age = parsedObject.optInt("age");

            // 打印解析结果
            Log.d("JSON", "Name: " + name);
            Log.d("JSON", "Age: " + age);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        test();
    }

在这里插入图片描述


二、安卓坏境下运行

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
        fManager = getSupportFragmentManager();
        test();
    }
 void test() {
        try {
            // 创建一个 JSON 对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "Alice");
            jsonObject.put("age", 25);

            // 将 JSON 对象转换为字符串
            String jsonString = jsonObject.toString();

            // 解析 JSON 字符串
            JSONObject parsedObject = new JSONObject(jsonString);
            String name = parsedObject.optString("name");
            int age = parsedObject.optInt("age");

            // 打印解析结果
            Log.d("JSON", "Name: " + name);
            Log.d("JSON", "Age: " + age);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

输出:
在这里插入图片描述

三、why?

其实很简单啊,这是因为 org.json.JSONObject 相关类是 Android SDK 中的一个类,它与普通的 Java 应用程序环境不完全兼容。只能在Android 应用程序中使用 JSONObject,而不是在普通的 Java 应用程序中。

很好,又水了一篇文章…在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1511414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态类型是什么?——跟老吕学Python编程

动态类型是什么?——跟老吕学Python编程 前言动态编程语言动态编程语言特点:动态编程语言的优点:动态编程语言的缺点: 静态编程语言静态编程语言特点:静态编程语言的优点:静态编程语言的缺点: 总…

【Vue3】什么是路由?Vue中的路由基本切换~

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Linux操作系统-07-Linux安装应用

一、使用rpm安装应用(不推荐) 先下载到本地,以.rpm文件名结尾,下载完成后,再安装 rpm -qa | grep mysql #查询当前系统是否有下载过mysql包 先上传mysql的rpm安装包到linux的opt目录 安装 rpm -ivh …

云游戏发行是什么?云游戏发行的演进历程

云游戏发行是一系列基于云游戏技术的游戏发行策略或行为,融合云试玩、云微端、可玩广告、跨端移植等技术,从而在传统游戏发行生态的基础上实现更为卓越的发行效果。 云游戏发行出现的原因 近年来,游戏市场出现负增长。其原因一方面在于游戏版…

删除数据表

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 删除数据表属于数据库对象的操作 drop table 表名称; 删除 emp30 表 SQL> drop table emp30;表已删除。 上面这个语句运行后,就会把数据表 emp30 删除 在…

AV1:编码块划分

​AV1是AOM于2018年发布的一代视频编码标准,相比于VP9其编码效率提升30%,相对于H.26X系列标准,AV1完全免去专利费可以自由使用。 AV1和其他视频编码标准类似,也采用基于块的编码架构。当编码器读进一帧图像,首先将其划…

Vue 3中的provide和inject:跨组件通信的新方式

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【linux】冯诺依曼体系与操作系统的理解

本篇文章是进程的预备知识,但也不仅仅是进程的预备知识, 也可以更好地帮助我们理解整个计算机体系。 目录 冯诺依曼体系结构:进一步理解操作系统: 冯诺依曼体系结构: 关于这张图先进行一下必要的解释: 输…

【清晰易懂】@Mapper注解和BaseMapper爱恨情仇

此问题的提出在于自己没有弄明白一个问题,就是Mapper注解有时候可以不加,有时候又需要加。 先说结论:Mapper注解和BaseMapper类在项目中起着相同的作用,都是为了实现数据库基本简单的CRUD,省去在xml文件中再去写&#…

java八股文复习----java集合,CAS---2024/03/12

1.java常见的集合类 2.List,Set,Map的区别 3.上述三个集合有哪些常用的方法 4.List,Set,Map哪几个是线程安全的? 5.ArrayList和LinkedList的区别 6.ArrayList和Vector的区别 7.ArrayList的扩容机制 8.HashMap集合 8.1数据结构 8.2哈希冲突的解决办法有哪…

Conmi遇到的坑——禅道的PCDN

好家伙,悄悄在后台吃了七十多G流量,我把你当兄弟宣传,你把我当PCDN吸。 还纳闷今天创建个VUE项目怎么提示D盘没空间,明明留了几十G,好家伙,一下子全吸干了。 删了两个,还有一个(已…

吴恩达深度学习笔记:神经网络的编程基础2.5-2.8

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.5 导数(Derivatives) 第一门课:神经网络和深度学习 (Neural Networks an…

PNG图片合成,带手机外观设置,可自定义金额等

PNG图片合成,带手机外观设置,可自定义金额等 软件界面成品显示免责声明 软件界面 成品显示 免责声明 若因使用代码与官方造成不必要的纠纷,本人盖不负责,存粹技术爱好,若侵犯贵公司的权益,请告知&#xff…

美团2025春招第一次笔试题

第四题 题目描述 塔子哥拿到了一个大小为的数组,她希望删除一个区间后,使得剩余所有元素的乘积未尾至少有k个0。塔子哥想知道,一共有多少种不同的删除方案? 输入描述 第一行输入两个正整数 n,k 第二行输入n个正整数 a_i,代表…

教你用两种方式遍历循环python中的字典

开发中经常会用到对于字典、列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式。 注意: python2和python3中,下面两种方法都是通用的。 1. 只对键的…

电机特性学习

电机特性 电机堵转: 电机堵转的原理 玻璃升降器: 工作电压 升降器在 9V~16V 电压下应运行平稳,不允许有异音和卡滞现象。 工作电流 升降器的工作电流不大于 12A,堵转电流不大于 28A。 堵转 力 升降器 堵转 力应 不小于 212N。 玻璃升降器结构 电动车窗…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的日常场景下的人脸检测系统(附完整资源+PySide6界面+训练代码)

摘要:开发用于日常环境中的人脸识别系统对增强安全监测和提供定制化服务极为关键。本篇文章详细描述了运用深度学习技术开发人脸识别系统的全过程,并附上了完整的代码。该系统搭建在强大的YOLOv8算法之上,并通过与YOLOv7、YOLOv6、YOLOv5的性…

【数据结构】初识二叉搜索树(Binary Search Tree)

文章目录 1. 二叉搜索树的概念2. 二叉搜索树的操作1.1 二叉搜索树的查找1.2 二叉搜索树的插入1.3 二叉搜索树的删除 1. 二叉搜索树的概念 二叉搜索树又称二叉排序树,它可能是一棵空树,也可能是具有以下性质的二叉树: 若它的左子树不为空&am…

Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-3、线条平滑曲面且可通过面观察柱体变化(三)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…

掌握Redis,看完这篇文章就够了!

目录 1.Redis介绍 2.Redis服务器与客户端 3.Redis配置文件 4.Redis数据类型操作 4.1使用python连接数据库 4.2 字符串 4.3 哈希 4.4 键对应操作 4.5 列表 4.6 集合 4.7 有序集合 1.Redis介绍 Redis 是一个开源的内存数据库,它提供了一个高性能的 key-val…