将 ArrayList 转换为 JSON - Android

2024-02-24

我有一个数组列表和一个单独的字符串。我想将它们转换为 JSON 格式并期望它低于 json 格式。

预期格式,

{  
"last_sync_date": "2014-06-30 04:47:45",
"recordset": [
    {
        "contact_group": {
            "guid": "y37845y8y",
            "name": "Family",        
            "description": "Family members",              
            "isDeleted": 0        
        } 
    },
    {
        "contact_group": { 
            "guid": "gt45tergh4",        
            "name": "Office",        
            "description": "Office members",              
            "isDeleted": 0        
        } 
    } 
]
} 

我用这种方式,但这是错误的,

public void createGroupInServer(Activity activity, String lastSyncDateTime, ArrayList<ContactGroup> groups)
        throws JSONException {

    // create json object to contact group
    JSONObject syncDateTime = new JSONObject();
    syncDateTime.putOpt("last_sync_date", lastSyncDateTime);

    JSONArray jsArray = new JSONArray("recordset");

    for (int i=0; i < groups.size(); i++) {
        JSONObject adsJsonObject = new JSONObject("contact_group");
        adsJsonObject = jsArray.getJSONObject(i);
        adsJsonObject.put("guid", groups.get(i).getGroupId());
        adsJsonObject.put("name", groups.get(i).getGroupName());
        adsJsonObject.put("isDeleted", groups.get(i).getIsDeleted());
}

请帮忙。


你大部分都在正确的轨道上......但有一些错误:

public JSONObject createGroupInServer(
        Activity activity, String lastSyncDateTime,
        ArrayList<ContactGroup> groups)
        throws JSONException {

    JSONObject jResult = new JSONObject();
    jResult.putOpt("last_sync_date", lastSyncDateTime);

    JSONArray jArray = new JSONArray();

    for (int i = 0; i < groups.size(); i++) {
        JSONObject jGroup = new JSONObject();
        jGroup.put("guid", groups.get(i).getGroupId());
        jGroup.put("name", groups.get(i).getGroupName());
        jGroup.put("isDeleted", groups.get(i).getIsDeleted());
        // etcetera

        JSONObject jOuter = new JSONObject();
        jOuter.put("contact_group", jGroup);

        jArray.put(jOuter);
    }

    jResult.put("recordset", jArray);
    return jResult;
}

但我同意其他答案,建议您使用像 GSON 这样的“映射”技术,而不是手动编码。特别是如果事情变得更复杂的话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ArrayList 转换为 JSON - Android 的相关文章

  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • AndEngine MenuScene - 无法单击按钮

    我有一个关于 android 和 andengine 的小问题 这是我的主菜单的源代码 AbstractScene is extending Scene public class MainMenuScene extends Abstract
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • Android Google Map V2:如何在单击另一个标记时更改先前单击的标记的图标

    更新 我通过添加 previousMarker 对象解决了性能问题 因此 只有先前单击的标记将被删除并替换为默认图标 但是 当我单击标记时 信息窗口仍然不显示 我有一个地图视图并在上面设置了一些标记 我想要的是 当我单击一个标记时 它将其图
  • Java 8 Stream,获取头部和尾部

    Java 8 引入了Stream http download java net jdk8 docs api java util stream Stream html类似于 Scala 的类Stream http www scala lang
  • 活动加载缓慢

    我的应用程序中有大约 50 个活动 但其中一个活动非常慢 我的意思是当我按下按钮进入该活动时 需要很长时间 有时会出现黑屏 在该活动中 我有一个按钮 如果我单击该按钮 则需要很长时间才能执行 代码很轻 只有一个Button EditText
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • TextView.setMaxLines 不起作用?

    在我的应用程序中 我有一个屏幕 其中显示一些文本 然后显示一张照片 文本的长度是可变的 有时根本没有 有时很多 所以我想对其进行设置 以便文本永远不会占用超过几行 但可以滚动 为下面的图像留下足够的空间 我这部分的视图组件是以编程方式创建的
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • 确定 JavaFX 中是否消耗了事件

    我正在尝试使用 JavaFX 中的事件处理来做一些非滑雪道的事情 我需要能够确定手动触发事件后是否已消耗该事件 在以下示例中 正确接收了合成鼠标事件 但调用 Consumer 不会更新该事件 我对此进行了调试 发现 JavaFX 实际上创建
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • 如何从DataSource.Factory获取数据

    我必须调用此方法才能获取所有人员 我根本无法修改这个方法 Query SELECT FROM PERSON TABLE ORDER BY NAME DESC abstract fun getElements DataSource Facto
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • 使用 DBCP 配置 Tomcat

    在闲置一段时间 几个小时 后 我们收到了 CommunicationsException 来自 DBCP 错误消息 在异常中 位于这个问题的末尾 但我没有看到任何配置文件中定义的 wait timeout 我们应该看哪里 在 tomcat

随机推荐

  • 如何在 vscode (Flutter) 上的单次运行/调试中添加 --no-sound-null-safety?

    在 vscode 上 当尝试使用 运行 或 调试 按钮运行或调试时 运行程序不会添加 no sound null safety 参数 如何配置 vscode 添加 no sound null safety 参数 如果使用 vscode 在项
  • 从网站获取正文标签值[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要从我打开的网址中获取正文标签
  • firestore 规则 get()/exists() 不起作用

    我正在使用 Firestore 规则并想要致电get exist 在一个函数中 然后我在子集合中调用该函数 但会报错 运行模拟时出错 发生未知错误 查看过时的模拟 你能帮忙指出我的错误吗 当我尝试时 允许创建 if get database
  • Swagger API 具有查询字符串

    我想部署一个具有查询字符串的 API 这是 API v1 products q circuit breaker locale en GB pageSize 8 pageNo 1 project GLOBAL 这是我的实施方式 v1 prod
  • Linkedin API - 从 url 获取公司 ID

    有没有办法获得numeric来自 Linkedin 上公司页面 URL 的公司 ID 我将使用该 ID 来查询 Linkedin API 并获取有关该公司的更多信息 我需要从 URL 提供的信息中获取 ID 以使用它来获取与公司页面相关的其
  • 我无法使用 glb/gltf 资源在 Three.js 中显示 aoMap

    我很难让 aoMap 在 Three js 中工作 我有一个 glb 资源 在红色通道上有一个 aoMap 或其他东西 当我将它带入babylon查看器时 我可以很好地看到ao 但它不会显示在 Three js 查看器或我的项目中 我认为这
  • 如何在 SOAPEnvelope 中添加名称空间声明

    在我的肥皂应用程序中 我使用 apache cxf 这是我的代码 它将向服务器提交数据 import org apache cxf Bus import org apache cxf BusFactory import org apache
  • 组内重复序列中缺少间隙

    我们有一个包含以下数据的表 Id ItemId SeqNumber DateTimeTrx 1 100 254 2011 12 01 09 00 00 2 100 1 2011 12 01 09 10 00 3 200 7 2011 12
  • 在 Javascript 中将 CSV 转换为多维数组

    我正在使用 jQuery 的 Ajax 函数从 CSV 文件读取数据 我一直在使用一个名为的 Jquery 插件jQuery CSV http js tables googlecode com svn trunk jquery csv mi
  • Angular Material Table 基于数据源对象数组属性大小的行跨列

    即使现在在 Angular Material 7 2 版本中 我似乎也找不到有关如何在 mat table 上使用 rowspan 并保留组件功能的示例 这是我有多远 短 https stackblitz com edit angular
  • 在KeyPress事件中获取KeyCode值

    如何修复此错误 System Windows Forms KeyPressEventArgs 不包含定义 对于 KeyCode 并且没有扩展方法 KeyCode 接受第一个 System Windows Forms KeyPressEven
  • Spring Boot“不是一个实体”

    我是 Hibernate 和 SpringBoot 的新手 我的项目涉及一个搜索引擎 该引擎由 2 个独立模块 1 个两者共用的基本模块组成 其中IndexSetup类驻留 有一个用于索引的模块 JavaFx 另一个用于通过 Web 浏览器
  • “财产有 ivar 支持”?这在技术上意味着什么?

    所以 我对 Objective C 还很陌生 拿一些 iTunes U corses 做一些练习等等 但是当您使用 synthesize myProperty myIvarPropertyNameToUse 时 iOS 5 将创建一个 iv
  • 替换 javascript 数组中的字符串

    我有一个 JavaScript 数组 该数组包含包含逗号 的字符串 我希望从此数组中删除所有逗号 这可以做到吗 Yes for var i 0 i lt arr length i arr i arr i replace g
  • CSS 模块 @import 未能通过 Jest 测试套件

    我正在使用 Jest 和 Enzyme 来测试我的应用程序 我收到错误 FAIL app containers Navbar NavbarContainer test js Test suite failed to run app comp
  • 在 Perl 中读取文件时如何跳过行?

    我怎样才能做到这一点 open FILE somefile foreach
  • 为每根树枝设置翻译域

    我有一些树枝包括需要翻译的文本 目前我把这句话放在每根树枝上 trans default domain AcmeTopBundle 不过 这有点麻烦 有没有一种好方法可以为一个地方的每根树枝设置默认域 可以在原来的基础上写一个自定义的节点访
  • 没有自动换行的多行 UILabel?

    是否有可能有一个UILabel由多个组成 n 分隔行的行宽度 gt 标签宽度被截断而不是换行 假设我有一些如下所示的文本 这是一个非常长的第一行文本 太长而无法水平放置 短线 又一条短线 我希望这个出现在我的UILabel像这样 1 Thi
  • 无法导出 const 箭头函数

    ES6 新手 我试图制作一个像这样的 React 简单功能组件 Todo jsx export default const Todo todos onTodoClick gt ul todos map todo i gt li gt onT
  • 将 ArrayList 转换为 JSON - Android

    我有一个数组列表和一个单独的字符串 我想将它们转换为 JSON 格式并期望它低于 json 格式 预期格式 last sync date 2014 06 30 04 47 45 recordset contact group guid y3