How do I handle newlines in JSON?

后端 未结 10 1523
后悔当初
后悔当初 2020-11-22 05:28

I\'ve generated some JSON and I\'m trying to pull it into an object in JavaScript. I keep getting errors. Here\'s what I have:

var data = \'{\"count\" : 1, \         


        
10条回答
  •  迷失自我
    2020-11-22 05:53

    You might want to look into this C# function to escape the string:

    http://www.aspcode.net/C-encode-a-string-for-JSON-JavaScript.aspx

    public static string Enquote(string s)  
    { 
        if (s == null || s.Length == 0)  
        { 
            return "\"\""; 
        } 
        char         c; 
        int          i; 
        int          len = s.Length; 
        StringBuilder sb = new StringBuilder(len + 4); 
        string       t; 
    
        sb.Append('"'); 
        for (i = 0; i < len; i += 1)  
        { 
            c = s[i]; 
            if ((c == '\\') || (c == '"') || (c == '>')) 
            { 
                sb.Append('\\'); 
                sb.Append(c); 
            } 
            else if (c == '\b') 
                sb.Append("\\b"); 
            else if (c == '\t') 
                sb.Append("\\t"); 
            else if (c == '\n') 
                sb.Append("\\n"); 
            else if (c == '\f') 
                sb.Append("\\f"); 
            else if (c == '\r') 
                sb.Append("\\r"); 
            else 
            { 
                if (c < ' ')  
                { 
                    //t = "000" + Integer.toHexString(c); 
                    string t = new string(c,1); 
                    t = "000" + int.Parse(tmp,System.Globalization.NumberStyles.HexNumber); 
                    sb.Append("\\u" + t.Substring(t.Length - 4)); 
                }  
                else  
                { 
                    sb.Append(c); 
                } 
            } 
        } 
        sb.Append('"'); 
        return sb.ToString(); 
    } 
    

提交回复
热议问题