JSON解码Perl - 格式错误的JSON字符串
问题描述:
我从MYSQL数据库获取数据,当我尝试解码时,它以JSON格式存储我收到错误格式不正确的JSON任何想法? $ VAR1是变量,\我从数据库JSON解码Perl - 格式错误的JSON字符串
use JSON; use Data::Dumper; $VAR1 = [ '{"description":[""],"last_modified_date_min":[""]}' ]; $DecodeS = decode_json($VAR1); print Dumper $DecodeS;
畸形JSON字符串,既不阵列,对象,数字,字符串或原子,在字符偏移0(前得到 “阵列(0x7f8674002ee8 ...”)
答
[ ... ]
创建一个rray并返回对该数组的引用,因此$VAR1
包含引用。您正在将此引用传递给decode_json
而不是JSON字符串,该引用恰好将字符串化为ARRAY(0x7f8674002ee8)
。
你想
$VAR1 = [ '{"description":[""],"last_modified_date_min":[""]}' ];
decode_json($VAR1->[0])
的JSON模块的`decode_json`功能
或
$VAR1 = '{"description":[""],"last_modified_date_min":[""]}';
decode_json($VAR1)
答
decode_json
需要字符串的JSON编码字符串,而不是一个阵列(REF)。您$VAR1 = ...
行中删除[
和]
,它应该运行得更好。
你看了[文档](https://metacpan.org/pod/JSON#decode_json) ?那将是一个开始的好地方。 –