<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/clipboard.js/1.7.1/clipboard.js"></script>
<title></title>
<style type="text/css">
.code{
width: 100%;
height: 500px;
overflow: auto;
border: solid 1px #d8d8d8;
margin-top: 40px;
}
</style>
</head>
<body>
<div>
<textarea id='jsonParm' rows="15" cols="50" ></textarea>
<button type='button' id='validate'>转JSON</button>
<button type='button' onclick="copy1()" data-clipboard-action="copy" data-clipboard-target="#zfb_account" id="copy_zfb">复制JSON</button>
</div>
<div class='code' id="zfb_account"> </div>
</body>
<script>
var a={'code': 0,
'message': '{"companyInfo":{"showData":"{\\"proON\\":\\"\\",\\"style\\":1,\\"showCN\\":0,\\"showCR\\":0,\\"modeList\\":[{\\"stageId\\":1108,\\"stageName\\":\\"??1\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isFS\\":false,\\"mode\\":1,\\"temS\\":1,\\"children\\":[{\\"propertyId\\":3889,\\"propertyName\\":\\"??\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isHi\\":false,\\"isDT\\":false},{\\"propertyId\\":3890,\\"propertyName\\":\\"??\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isHi\\":false,\\"isDT\\":false}]},{\\"stageId\\":1109,\\"stageName\\":\\"??2\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isFS\\":false,\\"mode\\":1,\\"temS\\":1,\\"children\\":[{\\"propertyId\\":3891,\\"propertyName\\":\\"??\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isHi\\":false,\\"isDT\\":false},{\\"propertyId\\":3892,\\"propertyName\\":\\"??\\",\\"isON\\":false,\\"oN\\":\\"\\",\\"isHi\\":false,\\"isDT\\":false}]}]}","isFocusImage":"1"}}'}
{code: 0, message: "{\"companyInfo\":{\"showData\":\"{\\\"proON\\\":\\\"\\\",\\\"styl…\":false,\\\"isDT\\\":false}]}]}\",\"isFocusImage\":\"1\"}}"}
function isJSON(str) {
if (typeof str == 'string') {
try {
var obj=JSON.parse(str);
if(typeof obj == 'object' && obj ){
return true;
}else{
return false;
}
} catch(e) {
return false;
}
}
}
function parseJson(jsonObj) {
for(var key in jsonObj) {
//如果对象类型为object类型且数组长度大于0 或者 是对象 ,继续递归解析
var element = jsonObj[key];
if(isJSON(element)){
jsonObj[key]=JSON.parse(element)
element = jsonObj[key];
}
if(element.length > 0 && typeof(element) == "object" || typeof(element) == "object" ) {
parseJson(element);
} else { //不是对象或数组、直接输出
if(isJSON(element)){
jsonObj[key]=JSON.parse(element)
}
}
}
return jsonObj;
}
var c=''
$(function(){
$('#jsonParm').focus();
$('#validate').click(function(){
if(!$('#jsonParm').val() ){
alert('JSON 不能为空')
return false;
}
val = eval('(' + $('#jsonParm').val() + ')')
if(isJSON(val)){
c=parseJson(JSON.parse(val))
}else{
if(typeof(val) == "object"){
c=parseJson(val);
}else{
alert('JSON有误')
}
}
$('.code').html(JSON.stringify(c));
console.log(c)
})
})
function copy1() {
var clipboard = new Clipboard('#copy_zfb');
clipboard.on('success', function(e) {
e.clearSelection(); //选中需要复制的内容
alert("复制成功!");
});
clipboard.on('error', function(e) {
alert("当前浏览器不支持此功能,请手动复制。")
});
}
</script>
</html>
json 嵌套多层 json字符串转换成json
最新推荐文章于 2024-07-20 14:52:27 发布