在c#中将JSON变量转换为小写
本文关键字:转换 变量 中将 JSON | 更新日期: 2023-09-27 18:07:36
我正在使用JSONPEncoderFactory,JSONPBehavior解决方案来启用WCF中的JSONP。一切都很好,一切都设置好了,工作正常,我的服务正确返回数据,没有问题。
然而,我需要能够强制JSON变量名小写,由于他们在JS中使用的方式,这是我还没有能够弄清楚的东西。
下面是我的服务输出示例(在此示例中,变量名称和值已更改为良性元素)
{"Animals":["dog","cat","mouse"],"Owner":"Greg","Permanent":"y","ID":1,"DaysToStay":"1"}
很简单,对吧?我希望"Animals"是"Animals",以此类推…
我是否需要使用json解析器,或者仅仅使用正则表达式就足够容易了?如果有人能告诉我他们以前是怎么做的,我会很感激的。
谢谢!
你可以在JavaScript中使用这个函数:
FN = function (obj)
{
var ret = null;
if (typeof(obj) == "string" || typeof(obj) == "number")
return obj;
else if (obj.push)
ret = [];
else
ret = {};
for (var key in obj)
ret[String(key).toLowerCase()] = FN(obj[key]);
return ret;
};
编辑:使用c#在Dictionary中反序列化json字符串:
using System.Web.Script.Serialization;
var serializer = new JavaScriptSerializer();
var dic = serializer.Deserialize<Dictionary<string,dynamic>>(yourJSONString);
复杂字段将被反序列化到Dictionary中。因此,您将需要一个递归函数来检查物化的dic。