json2string json格式到string的轉換,調試有時候可以用到

來源:互聯網
上載者:User

是別人寫的,好久已經忘記出處了,貼這有時候會再用到。

 

 

function json2string(strObject) {
            var c, i, l, s = '', v, p;

            switch (typeof strObject) {
                case 'object':
                    if (strObject) {
                        if (strObject.length && typeof strObject.length == 'number') {
                            for (i = 0; i < strObject.length; ++i) {
                                v = json2string(strObject[i]);
                                if (s) {
                                    s += ',';
                                }
                                s += v;
                            }
                            return '[' + s + ']';
                        } else if (typeof strObject.toString != 'undefined') {
                            for (i in strObject) {
                                v = strObject[i];
                                if (typeof v != 'undefined' && typeof v != 'function') {
                                    v = json2string(v);
                                    if (s) {
                                        s += ',';
                                    }
                                    s += json2string(i) + ':' + v;
                                }
                            }
                            return '{' + s + '}';
                        }
                    }
                    return 'null';
                case 'number':
                    return isFinite(strObject) ? String(strObject) : 'null';
                case 'string':
                    l = strObject.length;
                    s = '"';
                    for (i = 0; i < l; i += 1) {
                        c = strObject.charAt(i);
                        if (c >= ' ') {
                            if (c == '\\' || c == '"') {
                                s += '\\';
                            }
                            s += c;
                        } else {
                            switch (c) {
                                case '\b':
                                    s += '\\b';
                                    break;
                                case '\f':
                                    s += '\\f';
                                    break;
                                case '\n':
                                    s += '\\n';
                                    break;
                                case '\r':
                                    s += '\\r';
                                    break;
                                case '\t':
                                    s += '\\t';
                                    break;
                                default:
                                    c = c.charCodeAt();
                                    s += '\\u00' + Math.floor(c / 16).toString(16) +
       (c % 16).toString(16);
                            }
                        }
                    }
                    return s + '"';
                case 'boolean':
                    return String(strObject);
                default:
                    return 'null';
            }
        } 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.