草庐IT

camelcasing

全部标签

ruby-on-rails - 如何使用驼峰键名称从 Rails 返回 JSON

我正在构建一个带有Rails后端的JS应用程序,为了不混淆snake和camelcases,我想通过从服务器返回camelcase键名来规范化这一切。因此,当从API返回时,user.last_name将返回user.lastName。我如何实现这一点?谢谢!编辑:添加Controller代码classApi::V1::UsersController 最佳答案 我的方法是使用ActiveModelSerializer和json_api适配器:在你的Gemfile中,添加:gem'active_model_serializers'创建

ruby - 在 Ruby 中将嵌套哈希键从 CamelCase 转换为 snake_case

我正在尝试构建API包装器gem,但在将哈希键从API返回的JSON转换为更像Rubyish的格式时遇到了问题。JSON包含多层嵌套,包括哈希和数组。我想做的是递归地将所有键转换为snake_case以便于使用。这是我到目前为止所得到的:defconvert_hash_keys(value)returnvalueif(notvalue.is_a?(Array)andnotvalue.is_a?(Hash))result=value.inject({})do|new,(key,value)|new[to_snake_case(key.to_s).to_sym]=convert_hash_

ruby - 如何在 Ruby 的子字符串中拆分 CamelCase 字符串?

我有一个漂亮的CamelCase字符串,例如ImageWideNice或ImageNarrowUgly。现在我想在它的子字符串中断开该字符串,例如Image、Wide或Narrow,以及Nice或丑陋。我认为这可以简单地解决camelCaseString=~/(Image)((Wide)|(Narrow))((Nice)|(Ugly))/但奇怪的是,这只会填充$1和$2,而不会填充$3。你有更好的拆分字符串的想法吗? 最佳答案 s='nowIsTheTime's.split/(?=[A-Z])/=>["now","Is","The"

ruby-on-rails - 在 Ruby 中将字符串从 snake_case 转换为 CamelCase

我正在尝试将名称从蛇形格式转换为驼形格式。是否有任何内置方法?例如:"app_user"到"AppUser"(我有一个字符串"app_user"我想将它转换为模型AppUser)。 最佳答案 如果您使用的是Rails,String#camelize正是您要找的。"active_record".camelize#=>"ActiveRecord""active_record".camelize(:lower)#=>"activeRecord"如果你想得到一个实际的类,你应该使用String#constantize最重要的是。"app_u

javascript - 如何在 JavaScript 中将驼峰式字符串转换为破折号?

我想转换这些字符串:fooBarFooBar进入:foo-bar-foo-bar对于任何给定的字符串,我如何在JavaScript中以最优雅和最高效的方式做到这一点? 最佳答案 您可以将replace与正则表达式一起使用,例如:letdashed=camel.replace(/[A-Z]/g,m=>"-"+m.toLowerCase());匹配所有大写字母并将它们替换为前面带有"-"的小写字母。示例:console.log("fooBar".replace(/[A-Z]/g,m=>"-"+m.toLowerCase()));cons

javascript - 如何在我的应用程序中将 snake case 转换为 camelcase

我的lodash代码中有一个非常奇怪的问题我有类似的东西data={'id':'123','employee_name':'John','employee_type':'new'}varnewObj=_.mapValues(data,function(value,key){vart=_.camelCase(key);console.log(t)->showsemployeeNameandemployeeTypereturn_.camelCase(key);});我原以为我的newObj会变成data={'id':'123','employeeName':'John','employee

java - Jaxb。自定义字段命名行为(camelCase 到 underscore_case)

我想用带下划线的名称序列化我的字段。例如:userName->user_name。我知道可以使用@XmlElement(name="user_name")注释来完成,但对我来说不是很方便。有什么方法可以为JAXB设置默认命名策略吗? 最佳答案 注意:我是EclipseLinkJAXB(MOXy)的负责人,也是JAXB(JSR-222)专家组的成员。MOXy有一个XMLNameTransformer扩展,使您能够覆盖元素、属性和类型的默认命名策略。http://blog.bdoughan.com/2011/05/overriding-

c# - SignalR .NET Core camelCase JSON 契约(Contract)解析器

使用.NET核心RC2。让SignalR正常工作,但试图让它在JSON中返回驼峰命名法属性。对于我正在使用的API...services.AddMvc().AddJsonOptions(o=>{o.SerializerSettings.ContractResolver=newCamelCasePropertyNamesContractResolver();});也许SignalR还没有任何合适的地方(毕竟,它甚至还不能工作......),但想知道是否有人已经弄明白了?我已经尝试了一些事情,例如...services.AddTransient();...但是不行。有人让这个工作了吗?

c# - 用于小写下划线到 CamelCase 的自定义 Json.NET 契约(Contract)解析器

我正在ASP.NETMVC中开发RESTAPI,其中生成的序列化JSON使用lowercase_underscore作为属性。从具有字符串属性FirstName和Surname的类Person中,我得到如下JSON:{first_name:"Charlie",surname:"Brown"}注意小写_下划线名称。我用来为我自动执行此转换的契约(Contract)解析器是:publicclassJsonLowerCaseUnderscoreContractResolver:DefaultContractResolver{privateRegexregex=newRegex("(?!(^[

c# - 用正则表达式拆分 CamelCase

我有这段代码可以通过正则表达式拆分CamelCase:Regex.Replace(input,"(?但是,它没有正确拆分:ShowXYZColours它生成ShowXYZColours而不是ShowXYZColours如何获得想要的结果? 最佳答案 Unicode识别(?=\p{Lu}\p{Ll})|(?分割:(?=#look-ahead:apositionfollowedby...\p{Lu}\p{Ll}#anuppercaseandalowercase)#|#or(?与您的正则表达式拆分函数一起使用。编辑:当然,您可以将\p{L