如果这不是提出这个问题的正确平台,请原谅我。让我先言一下,我是一名API和JavaScript经验非常少的设计师。
我正在使用randomUser api生成一个json文件或url我可以在Invision的Sketch工艺工具中输入,所以我可以在我的设计中输入真实数据。 https://screencast.com/t/jAkwUpUja2。但是,它以小写而不是title-case / capitalized来提供名称。
我通过在浏览器中输入我需要的端点来生成JSON:https://screencast.com/t/E8Cmjk5XSSCk
那么,有没有办法可以强制api给我大写的名字?谢谢!
编辑:这是JSON网址:https://randomuser.me/api/?results=20&nat=us&inc=name,gender,picture&format=pretty
答案 0 :(得分:1)
据我所知,这是使用JS大写字符串的最简单方法:
// let's assume, that you have stored the lastname as follow:
let last = 'rodney';
要转换姓氏,请应用以下模式:
let capitalizedLast = last[0].toUpperCase() + last.substr(1);
last[0]
返回字符串r
的第一个字母
last.substr(1)
给出了姓氏odney
的剩余部分
使用toUpperCase()
转换第一个字母,+
将连接到最终结果。
您只需要对API的结果进行迭代,然后以这种方式转换所需的元素。
答案 1 :(得分:0)
快速查看文档表明,可能没有办法让API直接返回大写的名称。因此,您必须编写一些JavaScript来为您完成这项工作。
此代码应将数据打印到控制台,所有名称都大写。
它遍历结果数组中的项目,遍历项目的name
属性的所有属性并将它们大写。
capitalize
函数获取名称的第一个字符,将其转换为大写字母并将其附加到名称的其余部分。
function capitalize(text) {
return (!text || !text.length) ?
text :
(text[0].toUpperCase() + text.slice(1));
}
$.get("https://randomuser.me/api/?results=20&nat=us&inc=name,gender,picture&format=pretty",
function(data) {
if (!data || !data.results)
return;
data.results.forEach(function(user) {
if (user.name) {
for (var name in user.name) {
user.name[name] = capitalize(user.name[name]);
}
}
});
console.log(data);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;