如何将Object转换为字节数组(一个对象为List )
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Object转换为字节数组(一个对象为List )相关的知识,希望对你有一定的参考价值。
如何将Object转换为List(数组字节)我有来自MyClass类的实例(某个对象),我想从这个对象中获取字节。怎么实现这个?
码:
class MyClass {}
var myClass = MyClass()
List<int> getBytesFromObject(Object object) {
??? what here should be ???
}
so I can use it like:
List<int> bytes = getBytesFromObject(myClass)
答案
您可以使用java流概念,它基本上允许您将任何对象转换为可以使用方法Arrays.asList()在列表中转换它的Array。这是一个简单的例子:
List objectToList(Object obj){
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
byte [] data = bos.toByteArray();
return data.asList();
}
另一答案
没有内置的方法将Dart对象序列化为二进制。但是您可以将Dart对象转换为JSON字符串并将此字符串转换为字节数组(稍后将字节数组转换回字符串并将此字符串转换为对象)。这两者都是“dart:convert”包的一部分:
https://api.dartlang.org/stable/2.2.0/dart-convert/json-constant.html
https://api.dartlang.org/stable/2.2.0/dart-convert/utf8-constant.html
请注意,您需要在自定义类上手动实现“toJson()”方法。有些软件包可以帮助您生成必要的代码:
https://pub.dartlang.org/packages/json_serializable
以上是关于如何将Object转换为字节数组(一个对象为List )的主要内容,如果未能解决你的问题,请参考以下文章