① 格式化输出 jsON
JSON.stringify() 是将 javaScript 对象转换为 JSON 的规范方法。有许多 JavaScript 框架在内部都使用了 JSON.stringify() ,比如 Express 框架的 res.json() 和 Axios body 序列化。
但是,默认情况下, JSON.stringify() 输出的 JSON 格式,不带空格或颜色。在后面,我们将使用一个常用的 npm 包来丰富输出数据的色彩。
JSON.stringify() 基本用法如下:
可以看到,我们使用 JSON.stringify() 输出的内容更具可读性。
你也可以传入一个 " " 制表符间距,格式化输出的数据。
JSON.stringify 的第三个参数用于控制间距。正是它提供了漂亮的字符串输出。
它允许两种类型的参数: Number 和 String 。
如果 Space 是一个 Number 类型,则表示 JSON.stringify 将在每个键之前放置的相应的空格数。可以使用 0 到 10 之间的任意数字作为缩进。
或者,可以使用字符串作为缩进。最多允许10个字符。如果您尝试传递超过10个字符,它将只使用前10个字符。
对于不直接调用 JSON.stringify() 的框架,通常有一个设置 spaces 参数的选项。例如,Express 有一个全局 'json spaces' 选项 ,允许您为所有 res.json() 调用设置 spaces 。
Axios 没有设置 JSON 格式的 显式选项 ,但您可以使用 transformRequest 选项 自行处理 JSON 序列化。关键语法如下:
Prettyjson 以 YAML 样式格式化 JSON 数据。Prettyjson 仅在 CLI 上工作,如果将 Prettyjson 输出作为 HTTP 响应发送,则无法获得颜色。
下面是使用 Prettyjson 从 Node.js 打印 JSON 的示例:
效果如下:
您应该使用以上这类方法来使你想要突出显示的数据以提高可读性。
这里我们额外在说一下 JSON.stringify 的第二个参数 replacer ,我们可以使用它来转换结果。
它允许两种类型的参数: Array 和 Function 。
我们为每一项调用一次 function ,你也可以循环每一项,并在每次传递时使用函数中定义的逻辑进行操作。
下面是一个示例,我跳过了值不是字符串的属性。换句话说,我只想显示值为数字的项。
② js获取json中的数据,寻找某一节点,显示数据中格式化的部分。
废话不多说,采纳即可
<!DOCTYPEHTML>
<html>
<head>
<title>yugi</title>
<metacharset=UTF-8/>
<styletype="text/css">
*{
margin:0;
padding:0;
}
table{
margin:auto;
width:800px;
border:1pxsolidblack;
border-collapse:collapse;
}
th,td{
text-align:center;
border:1pxsolidblack;
}
</style>
<scripttype="text/javascript">
functionload(path)
{
varxmlhttp=null;
if(window.ActiveXObject)
{
xmlhttp=newActiveXObject("Microsoft.XMLHttp");
}
elseif(document.implementation&&document.implementation.createDocument)
{
xmlhttp=newwindow.XMLHttpRequest();
}
xmlhttp.open("GET",path,false);
xmlhttp.send(null);
returnxmlhttp;
}
onload=function()
{
varresult=load("被和谐,自己加url");
varr=eval("("+result.response+")");
varforecast=r.data.forecast;
vartb=table.tBodies[0];
vartitle=[
"date","fengli","fengxiang","high","low","type"
];
for(vari=0;i<forecast.length;i++)
{
varfi=forecast[i];
vartr=tb.insertRow(tb.rows.length);
for(varj=0;j<title.length;j++)
{
vartd=tr.insertCell(tr.cells.length);
td.innerHTML=fi[title[j]];
}
}
}
</script>
</head>
<body>
<tableid="table">
<tr>
<th>日期</th>
<th>风力</th>
<th>风向</th>
<th>最高温度</th>
<th>最低温度</th>
<th>类型</th>
</tr>
</table>
</body>
</html>
③ js怎么把数组格式化为json
用下面的函数: eval ("(" + JSON格式的字符串 + ")"); 或者用dojo var jsnObj = dojo.fromJson(JSON格式的字符串);
④ Spring mvc 返回json数组中的日期怎么格式化
只要继承它的抽象类:public abstract class JsonSerializer<T>,并在相应的属性方法上添加指定注解:@JsonSerialize 即可实现。
编写Date日志自定义转换类:
CustomDateSerializer.java
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
public class CustomDateSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date value, JsonGenerator jgen,SerializerProvider provider)
throws IOException,JsonProcessingException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(value);
jgen.writeString(formattedDate);
}
}
javabean对应属性的方法添加注解:
@JsonSerialize(using = CustomDateSerializer.class)
public Date getCreateDate() {
return createDate;
}
就这么简单就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd HH:mm:ss 的格式了。
⑤ vscode怎么格式化js中的json数据
你可以把你的JSON数据贴出来
网络JSON在线格式化 然后拖进去格式化再贴回去就行了 有的无法格式化可能是按键冲突了
⑥ vs code 开发react用什么插件
使用VSCode开发React-Native是个不错的选择,因为这个编辑器十分简洁、流畅,并且微软官方提供了React Native Tools插件,支持代码高亮、debug以及代码提示等十分强大的功能,并且VSCode本身的代码跳转十分优秀。但是我下载了此插件,发现其他功能正常,唯独代码没法正确提示,右下角也没有显示salsa。经过我的不懈Google以及查看官方文档:JavaScript in VS Code,最终找到了替代解决方案。
⑦ 前端工程师都有用哪些比较靠谱的小工具
作为曾经的web前端工程师,来答一发。
jsonView Chrome插件
sessionBox是一块可以让你随意切换你的session的Chrome插件~用户还可以给不同的session设置各种颜色,方便地标识session;SessionBox只对那些把网页的状态保存到session中的才有效果。顺便提供一下SessionBox的官网:https://sessionbox.io ;对于起那段同学来说,切换Sesssion几乎成了必不可少的一项工作,如果你使用了sessionbox,将会大大的减轻你的工作量,同时这个插件对于后端开发的RD同学也将是大大的帮助。
目前介绍了以上四款工具,建议题主可以尝试一下,都是非常不错的工具,虽然我现在不在是前端,但是对于除了webstorm之外的三款工具我都是经常会使用的;至于我为什么不使用webstorm是有原因的,因为我现在已经是作为一枚后端RD的存在,目前在公司开发机上只能用vim开发~~