用 Dart 解码一个奇怪的 json 文件
Decoding a weird json file with Dart
这需要用 Dart 解码成可读的 JSON 问题是。我不知道它是什么,我不知道该怎么做。
{
mifare: {
identifier: [4, 119, 66, 185, 196, 77, 112],
mifareFamily: 2,
historicalBytes: []
},
ndef: {
isWritable: true,
maxSize: 492,
cachedMessage:
{records:
[{identifier: [],
typeNameFormat: 1,
type: [84],
payload: [2, 101, 110, 123, 39, 99, 109, 100, 39, 58, 39, 110, 101, 119, 95, 102, 114, 105, 101, 110, 100, 39, 44, 39, 117, 115, 101, 114, 39, 58, 39, 116, 101, 115, 116, 39, 125]}]}}}
有人知道该怎么做吗?
PS:'payload' 应该是这样的文本:
{'cmd':'new_friend','user':'test'}
如果你想把它转换成你的文本字符串,那么你需要了解 NDEF 数据格式,因为这看起来像是读取带有 Ndef 记录的 NFC 卡的原始数据转储。
没有多少图书馆有解码方法只有编码方法。
所以重点是:-
typeNameFormat: 1
是“Well known Ndef format”的代码
type: [84]
是Ndef文本记录的代码
这会引导您指定 Ndef 文本记录
https://github.com/haldean/ndef/blob/master/docs/NFCForum-TS-RTD_Text_1.0.pdf
然后
payload: [2, 101, 110, 123, 39, 99, 109, 100, 39, 58, 39, 110, 101, 119, 95, 102, 114, 105, 101, 110, 100, 39, 44, 39, 117, 115, 101, 114, 39, 58, 39, 116, 101, 115, 116, 39, 125]
2
是 2 个字节的语言标识符长度
101
是 e
的美国 ASCII 字符的十进制代码
110
是 n
的美国 ASCII 字符的十进制代码
所以文字是英文的
123
是 {
的美国 ASCII 字符的十进制代码
等等
应该说这不是 JSON 而是 Javascript 对象在 Javascript
中的转储
这需要用 Dart 解码成可读的 JSON 问题是。我不知道它是什么,我不知道该怎么做。
{
mifare: {
identifier: [4, 119, 66, 185, 196, 77, 112],
mifareFamily: 2,
historicalBytes: []
},
ndef: {
isWritable: true,
maxSize: 492,
cachedMessage:
{records:
[{identifier: [],
typeNameFormat: 1,
type: [84],
payload: [2, 101, 110, 123, 39, 99, 109, 100, 39, 58, 39, 110, 101, 119, 95, 102, 114, 105, 101, 110, 100, 39, 44, 39, 117, 115, 101, 114, 39, 58, 39, 116, 101, 115, 116, 39, 125]}]}}}
有人知道该怎么做吗? PS:'payload' 应该是这样的文本:
{'cmd':'new_friend','user':'test'}
如果你想把它转换成你的文本字符串,那么你需要了解 NDEF 数据格式,因为这看起来像是读取带有 Ndef 记录的 NFC 卡的原始数据转储。
没有多少图书馆有解码方法只有编码方法。
所以重点是:-
typeNameFormat: 1
是“Well known Ndef format”的代码
type: [84]
是Ndef文本记录的代码
这会引导您指定 Ndef 文本记录 https://github.com/haldean/ndef/blob/master/docs/NFCForum-TS-RTD_Text_1.0.pdf
然后
payload: [2, 101, 110, 123, 39, 99, 109, 100, 39, 58, 39, 110, 101, 119, 95, 102, 114, 105, 101, 110, 100, 39, 44, 39, 117, 115, 101, 114, 39, 58, 39, 116, 101, 115, 116, 39, 125]
2
是 2 个字节的语言标识符长度
101
是 e
110
是 n
所以文字是英文的
123
是 {
等等
应该说这不是 JSON 而是 Javascript 对象在 Javascript
中的转储