Javascript json字符串和数组互转 json格式化html

关键点在这里JSON.stringify(mock,null,4).toString()有格式化的作用,v-model以后取到的是字符串,所有都得转成数组结构。

<div id="app">
    <div class="container">
        <div class="fl" style="width:50%">
            <textarea class="jsonBox" id="jsonBox" v-model="model"></textarea>
        </div>
        <div class="formCreate fr" id="formCreate" style="width:50%"></div>
        <button @click="markHtml">生成html</button>
    </div>
</div>
<script>
    // 显示json
    let mock = [
        {
            type:"input",
            title:"商品名称",//label名称
            field:"goods_name",//字段名称
            value:"商品名称",//input值,
            props: {
                "type": "text", //输入框类型,可选值为 text、password、textarea、url、email、date
                "clearable":false, //是否显示清空按钮
                "disabled": false, //设置输入框为禁用状态
                "readonly": false, //设置输入框为只读
                "rows": 4, //文本域默认行数,仅在 textarea 类型下有效
                "autosize": false, //自适应内容高度,仅在 textarea 类型下有效,可传入对象,如 { minRows: 2, maxRows: 6 }
                "number": false, //将用户的输入转换为 Number 类型
                "autofocus": false, //自动获取焦点
                "autocomplete": "off", //原生的自动完成功能,可选值为 off 和 on
                "placeholder": "请输入商品名称", //占位文本
                "size": "default", //输入框尺寸,可选值为large、small、default或者不设置,
                "spellcheck": false, //原生的 spellcheck 属性
                "required":false,
            }
        }
    ];
    vm = new Vue({
        el:'#app',
        data:{
            formData:{},
            model:''
        },
        computed:{
            mocks(){
                return JSON.stringify(mock,null,4).toString() //~~~1
            }
        },
        methods:{
            markHtml(){
                var model = JSON.parse(this.model); //~~~2
                window.formData = {};
                let root = document.getElementById('formCreate');
                $f = this.$formCreate(model,{
                    el:root,
                });
            }
        }
    });
</script>

//数组转json
var arr = [1,2,3,4,5];
JSON.stringify(arr).toString();

//json转数组                
var jsonStr = JSON.stringify(arr).toString();
var v = JSON.parse(jsonStr);
console.log(v[1], v[2]);
//2,3
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值