当前位置: 首页 > news >正文

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

目录

  • 前言
  • 一、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 应用程序中。

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

相关文章:

  • php7.3.4连接sqlserver(windows平台)
  • CMS与其他老年代垃圾回收器的区别?
  • OSPF协议
  • 爬虫与DataFrame对象小小结合
  • [创业之路-99/管理者与领导者-141] :绩效管理-1-绩效管理是一把手工程、是系统工程、是化繁为简工程
  • 【Flutter】IOS运行工程二次启动崩溃问题。
  • Transformer家族
  • 汽车IVI中控开发入门及进阶(十四):功能安全
  • Spring Boot+Vue前后端分离项目如何部署到服务器
  • 基于YOLOv8深度学习的野外火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测
  • 2024年AI辅助研发:科技创新的引擎
  • 【C++ vector 类】
  • Selenium操作浏览器,弹出文件选择框,实现自动选定“目标文件”
  • 链表的简单概念
  • Python 单元测试
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Flannel解读
  • Gradle 5.0 正式版发布
  • JavaScript的使用你知道几种?(上)
  • js中的正则表达式入门
  • LeetCode29.两数相除 JavaScript
  • node学习系列之简单文件上传
  • Python中eval与exec的使用及区别
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • STAR法则
  • Webpack 4x 之路 ( 四 )
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 回流、重绘及其优化
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 力扣(LeetCode)21
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 聊一聊前端的监控
  • 判断客户端类型,Android,iOS,PC
  • 使用Swoole加速Laravel(正式环境中)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 数据科学 第 3 章 11 字符串处理
  • 数据可视化之 Sankey 桑基图的实现
  •  一套莫尔斯电报听写、翻译系统
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • const的用法,特别是用在函数前面与后面的区别
  • linux 淘宝开源监控工具tsar
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #stm32整理(一)flash读写
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转)Google的Objective-C编码规范
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core控制台应用程序初识
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net6使用WebSocket与前端进行通信
  • .netcore如何运行环境安装到Linux服务器
  • [1159]adb判断手机屏幕状态并点亮屏幕