如何将Json数组键转换为小写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Json数组键转换为小写?相关的知识,希望对你有一定的参考价值。
我得到一个Json数组,这里是JSON数组
[
{
"customFieldName": "resolution",
"fieldName": "Resolution"
},
{
"customFieldName": "lastViewed",
"fieldName": "Last Viewed"
},
]
我想将密钥转换为小写,请提出解决方案。我试图将JSON数组转换为字典,但未成功。
答案
您可以尝试读取JsonArray中的所有属性并将属性名称更改为小写
private static void ConvertToLowerCase(JArray jArray)
{
foreach (var item in jArray.Children())
{
foreach (var property in item.Children<JProperty>().ToList())
{
property.Replace(new JProperty(property.Name.ToLower(), property.Value));
}
}
}
通过传递JArray调用此方法
var jArray = JArray.Parse(jsonString);
ConvertToLowerCase(jArray);
Console.WriteLine(JsonConvert.SerializeObject(jArray));
输出
[{"customfieldname":"resolution","fieldname":"Resolution"},{"customfieldname":"lastViewed","fieldname":"Last Viewed"}]
另一答案
[列出大写字母的函数(在ascii表中为65到90),然后将32作为整数添加到字符中,可以在“ ascii”表中“添加”字符串字符以向上或向下移动。
下面的这段代码应该可以工作(免责声明:有必要在int数之前写(char)以将其转换为char,否则将无法工作)
bool UpperChecker(char myChar)
{
if (myChar >= (char)65 && myChar <= (char)90 )
{
return true; // in other words, the _character_ received was an uppercase
}
return false; // or not
}
for (int i =0 ; i < myString.Length ; i++)
{
if ( UpperChecker(mystring[i]) ) // Checks if character is uppercase
{
mystring[i] += (char)32; // converts the character to it's lowercaseT
}
}
以上是关于如何将Json数组键转换为小写?的主要内容,如果未能解决你的问题,请参考以下文章
golang Golang实用程序将结构转换为具有小写键的映射。将struct映射到json很有用(大写名称总是让我眨眼)。