创建一个没有 Json 数组名称的 Json 数组
Posted
技术标签:
【中文标题】创建一个没有 Json 数组名称的 Json 数组【英文标题】:Create a Json Array without the Json Array name 【发布时间】:2021-10-25 00:53:17 【问题描述】:我在没有数组名称的数组中创建 Json 输出时遇到问题。目前,当我创建一个时,我得到以下 Json 响应。
"values": [
"item1": "",
"item2": "",
"item3": "",
"item4": ""
]
但我想删除以下内容:
"values": [
]
最终结果如下所示:
[
"item1": "",
"item2": "",
"item3": "",
"item4": ""
,
"item1": "",
"item2": "",
"item3": "",
"item4": ""
]
这是我目前正在使用的代码。
JSONArray jsonArray = new JSONArray();
jsonArray.put(new File(getFileName(base64), MimeTypes.ContentType(FileExtension.getType(base64)), folder, convertUriToBase64(), null));
Log.d(TAG, JsonUtil.toJson(jsonArray));
这是我的模型类:
public class File
String fileName;
int fileType;
String fileFolder;
String base64String;
byte[] bytes;
public File(String fileName, int fileType, String fileFolder, String base64String, byte[] bytes)
this.fileName = fileName;
this.fileType = fileType;
this.fileFolder = fileFolder;
this.base64String = base64String;
this.bytes = bytes;
任何帮助都会很有用,谢谢!
【问题讨论】:
你试过jsonArray.toString()
吗?
@digitalbreed 是的,它不返回有效的 json,而是返回 ["com.package.name.File@d917cac"]
好吧,你把File
放进去,这不是一个有效的JsonElement
。
@digitalbreed 'File' 是一个自定义模型类。
@digitalbreed 我更新了问题,所以你知道我的意思
【参考方案1】:
不要将 JSON 元素与您自己的模型混合使用。这是一个使用Gson.toJson
的示例,它产生了预期的结果:
package test;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
public class GsonTest
// Your model class
public static class Test
private int x;
private int y;
public Test(int x, int y)
this.x = x;
this.y = y;
public static void main(String[] args)
List<Test> list = new ArrayList<>();
list.add(new Test(1, 2));
list.add(new Test(2, 3));
System.out.println(new Gson().toJson(list));
// output: ["x":1,"y":2,"x":2,"y":3]
【讨论】:
它工作得很好,谢谢你,如果我可能会问一个人如何获得让我们说列表中的 2-10 个项目。例如,当您在 Facebook 上创建帖子时,您可以在帖子中添加一定数量的图像,您将如何获取所有这些图像数据并将其添加到 ArrayList? @Tihan-NicoPaxton 不确定“获取所有这些图像数据”是什么意思,但如果您询问构建一个类似的过程,包括文件选择、预览、裁剪、上传、存储、安全,...这可能有点太多了,无法在一个 SO 问题中回答。 假设您要发布多张图片并将其上传到存储服务,您将如何获取所有这些图片数据并将其添加到 Json Arraylist 中。例如:'List以上是关于创建一个没有 Json 数组名称的 Json 数组的主要内容,如果未能解决你的问题,请参考以下文章
Jackson2 Java到Json数组在创建数组时忽略字段名称
如何从 API 获取 JSON 数组中没有名称的 JSON 对象