JSON:PP 仅对数组中的第一项进行编码

发布于 2024-12-18 13:20:46 字数 494 浏览 2 评论 0原文

我正在将我的值推入数组中...

while ( ... ) {
  push @array, { label => "label", value => "value" };
}

这似乎有效。

然后...

use JSON::PP ;
print JSON::PP->new->utf8->encode(@array) ; 

只生成...

{"value":"value","label":"label"}

但我需要...

[{"value":"value","label":"label"}{"value":"value","label":"label"} etc.. ]

(输出数组中的每个项目,而不仅仅是第一个...)

有什么想法吗?

I'm pushing my values into the array...

while ( ... ) {
  push @array, { label => "label", value => "value" };
}

This appears to be working.

Then...

use JSON::PP ;
print JSON::PP->new->utf8->encode(@array) ; 

only generates...

{"value":"value","label":"label"}

but I need...

[{"value":"value","label":"label"}{"value":"value","label":"label"} etc.. ]

(each item in array outputted, not just the first one...)

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑看君怀她人 2024-12-25 13:20:46

尝试传递对数组的引用:

print JSON::PP->new->utf8->encode(\@array) ; 

编码被记录为采用标量,而不是数组(因此您需要引用,它是一个标量)。

Try passing a reference to the array:

print JSON::PP->new->utf8->encode(\@array) ; 

Encode is documented to take a scalar, not an array (so you need the reference, which is a scalar).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文