【发布时间】:2015-05-27 22:21:40
【问题描述】:
我有一个如下的 JSON:
{
"Person": {
"IDCountry": "0",
"Home": {
"ID": "ABC-XYZ",
"Laptop": {
"FileName": "/usr/temp/RPM_020515_.tar.gz",
"Key": "123456789"
},
"Location": {
"Number": "62",
"MaxSize": "0"
},
}
}
}
这个 JSON 是使用以下代码从 perl 中的 XML 文件的一些单独方法生成的:
#!/usr/bin/perl
use strict;
use warnings;
use JSON;
use XML::Simple;
use XML::LibXML;
# Create the object of XML Simple
my $xmlSimple = new XML::Simple(KeepRoot => 1);
# Load the xml file in object
my $dataXML = eval { $xmlSimple->XMLin($xmlFileName)};
# use encode json function to convert xml object in json.
my $jsonString = eval { encode_json($dataXML) };
print $jsonString;
这里一切正常。但我想将输出 JSON 标记名称全部设为小写。那就是我想要这样的输出。
{
"person": {
"idCountry": "0",
"home": {
"id": "ABC-XYZ",
"laptop": {
"fileName": "/usr/temp/RPM_020515_.tar.gz",
"key": "123456789"
},
"location": {
"number": "62",
"maxSize": "0"
},
}
}
}
我当前的输出 JSON 标记与生成它的 xml 文件中的元素名称相同。
如何在我当前的 perl 脚本中进行更改,以使 json 中的标签都遵循驼峰式表示法。
谢谢。
当我们想要处理特定元素变为小写且特定元素变为驼峰式的情况时,JSON 的情况。
{
"person": {
"idcountry": "0",
"home": {
"id": "ABC-XYZ",
"laptop": {
"fileName": "/usr/temp/RPM_020515_.tar.gz",
"key": "123456789"
},
"location": {
"number": "62",
"maxSize": "0"
},
}
}
}
如果您将看到 maxSize 和 fileName 遵循 camelCase 约定,但所有其他标签都小写。
也就是说我们有两个列表:
{ FileName, MaxSize } 这些在以下情况下被转换,而 { Person, IDCountry, Home, ID, Laptop, Key, Location, Number } 全部转换为小写。
【问题讨论】: