Antd:在文本框中展示格式化JSON

文章介绍了如何使用`JSON.stringify`方法将JavaScript对象转换为格式化的JSON字符串,并演示了如何在`antd`组件`Input.TextArea`中展示,以及如何自定义`replacer`函数以保护隐私信息。
摘要由CSDN通过智能技术生成

要想将对象转换为格式化 JSON 展示在文本框中,需要用到 JSON.stringify

JSON.stringify 方法接受三个参数:

  • value:必需,一个 JavaScript 值(通常为对象或数组)要转换为 JSON 字符串。
  • replacer:可选,一个函数或数组,用于在序列化过程中过滤或转换值。
  • space:可选,用于在输出 JSON 字符串中添加缩进、空格或换行符,以提高可读性。如果是一个数字,则它表示每个缩进级别的空格数;如果是一个字符串,则该字符串用作每个缩进级别的缩进。

具体代码:

import { Button, Input } from 'antd';

export default () => {
  const value = {
    name: '张三',
    age: 20,
    gender: '男',
    address: {
      city: "北京",
      street: "朝阳路",
      zipCode: "100000"
    },
    phoneNumbers: ["13800000001", "13900000002"],
    isStudent: true,
  };

  const replacerFunc = (key, value) => {
    if (key === 'phoneNumbers') {
      return value.map(item => {
      	// 将手机号中间四位替换为占位符
        return item.slice(0, 3) + '****' + item.slice(7);	
      })
    }
    return value;
  }
  const defaultValue = JSON.stringify(value, replacerFunc, 4)

  return (
    <Input.TextArea defaultValue={defaultValue}  />
  )
};

展示效果:
在这里插入图片描述

此外,如果想要在页面上展示格式化 json,可以用<pre> 标签包裹。pre 标签中的文本会保留空格和换行符。

<pre>{JSON.stringify(value, null, 4)}</pre>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值