如何在json中添加""和换行符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在json中添加""和换行符?相关的知识,希望对你有一定的参考价值。

后台代码把换行符\\r\\n替换为\\\\r\\\\n,前台代码js收到的字符就是\\r\\n

具体代码如下:

public static string ConvertFromListTojson<T>(IList<T> list, int total, string

columnInfos) where T : class 

 

string[] cols = columnInfos.Split(new char[

',',StringSplitOptions.RemoveEmptyEntries); 

StringBuilder sb = new StringBuilder(300); 

sb.Append("\\"total\\":"); 

sb.Append(total); 

sb.Append(",\\"rows\\":"); 

sb.Append("["); 

foreach (T t in list) 

 

sb.Append(""); 

foreach (string col in cols) 

 

string name = "\\"0\\":\\"1\\","; 

string value = getValue<T>(t, col); 

value = value.Replace("\\r\\n", "\\\\r\\\\n"); 

sb.Append(string.Format(name, col, value)); 

 

if (cols.Length > 0) 

 

int length = sb.Length; 

sb.Remove(length - 1, 1); 

 

sb.Append(","); 

 

if (list.Count > 0) 

 

int length2 = sb.Length; 

sb.Remove(length2 - 1, 1); 

 

sb.Append("]"); 

sb.Append(""); 

return sb.ToString(); 

 

private static string getValue<T>(T t, string pname) where T : class 

 

Type type = t.GetType(); 

PropertyInfo pinfo = type.GetProperty(pname); 

if (pinfo != null)

 

object v = pinfo.GetValue(t, null); 

return v != null ? v.ToString() : ""; 

 

else 

 

throw new Exception("不存在属性" + pname); 



参考技术A

你好,

var myJSONString = JSON.stringify(myJSON);

var myEscapedJSONString = myJSONString.replace(/\\\\n/g, "\\\\n")

.replace(/\\\\r/g, "\\\\r");

在手机短信中添加换行符

【中文标题】在手机短信中添加换行符【英文标题】:add line break in mobile sms 【发布时间】:2011-09-28 17:53:17 【问题描述】:

我正在使用某个短信服务的 API,我只想知道如何将纯文本格式的 php 代码中的换行符添加到移动设备?

有人可以帮我吗?

【问题讨论】:

【参考方案1】:

我知道这是一个老问题,但无论如何它可能会对某人有所帮助。

我倾向于为此目的使用PHP_EOL(由于跨平台兼容性)。

echo "line 1".PHP_EOL."line 2".PHP_EOL;

如果您打算在浏览器中显示结果,则必须使用"&lt;br&gt;"

【讨论】:

在尝试并失败后找到了这个答案 (\n, '\n', "\n", \r\n, '\r\n', "\r\n" , \\n, '\\n', "\\n", \\r\\n, '\\r\\n', "\\r\\n")。 PHP_EOL 立即生效。【参考方案2】:
$text = "This is line 1.\nThis is line 2.";

确保在字符串周围使用双引号,而不是单引号。

如果这不起作用,您需要与制作 API 的人交谈。

【讨论】:

嗨 ceejayoz,我已经尝试过了,但还是不行。 然后与提供 API 的人交谈。【参考方案3】:

如果没有任何效果,请尝试使用%0a,如下所示:

$sms = 'This is line 1%0aThis is line 2';

【讨论】:

正确!只有这个有效。我想补充一点,如果您想添加多个换行符,请考虑在两者之间添加一个空格 %0a %0a【参考方案4】:

尝试使用:“\r\n” 并且不要忘记用双引号将您的消息括起来。

会有用的,如果不是下面的链接有更多方法,试试吧...

https://codeupweb.wordpress.com/2017/07/18/how-to-add-a-line-break-in-sms-message/

【讨论】:

【参考方案5】:

如果 API 是基于 HTTP 的,那么您应该使用 url-encoded LF。如果它不起作用,那么您应该使用GSM-7。

【讨论】:

【参考方案6】:

你应该使用\n,试试这个

 $sender->sendMessage("Vocabulary:\n".$word.$meaning,$test);

【讨论】:

【参考方案7】:

最好以双引号开头,它可以正常工作。不要使用单引号

使用下面的这个例子来表达你的想法

$message = "这是我的消息\n这是我的第二条消息"

【讨论】:

【参考方案8】:

我使用 clicksend api,"&lt;br&gt;" 标签工作正常。

【讨论】:

以上是关于如何在json中添加""和换行符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在json中添加""和换行符?

正则表达式怎么解决空格和换行啊??

字符输出流的续写和换行和使用try--catch--finally处理流中的异常

HTML基础 p 多个空格和换行都算一个空格

freemarker在生成word文档时,对于文字中的空格和换行怎么完美处理处理.

python按行读取文件,如何去掉换行符"\n