php,我想把数据库内容做成json格式,数据有换行符,去掉换行符输出后检测还是会换行。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php,我想把数据库内容做成json格式,数据有换行符,去掉换行符输出后检测还是会换行。相关的知识,希望对你有一定的参考价值。
php,我想把数据库内容做成json格式,数据有换行符,取出数据后我把换行符之类影响json的都替换了。然后用json_encode转换成json格式。再网页中输出以后源代码是一行,也没有换行符,但是检测时候就出问题了。换行符还是存在。
输出json的网址 http://gist.fanmingfei.cn/app/?a=article&id=5
我不知道你用什么方式输出的json~
你应该用php内置的json_encode来输出~这样无论你的数据里有什么换行之类的,都可以正常输出?
<?php$str = <<<EOF
测试换行
<br>b
aaa
EOF;
$data = array(
'title' => '测试getJSON为毛同样的代码读取不同信息效果不同 失效',
"content" => $str,
"cate" => "灌水专区",
"user" => "edire",
"addtime" => "01-26 01:35:25",
"edittime" => "01-26 01:35:25",
"comments" => "0",
"favorites" => "0"
);
echo json_encode($data);
?>
以上代码会输出
"title":"\\u6d4b\\u8bd5getJSON\\u4e3a\\u6bdb\\u540c\\u6837\\u7684\\u4ee3\\u7801\\u8bfb\\u53d6\\u4e0d\\u540c\\u4fe1\\u606f\\u6548\\u679c\\u4e0d\\u540c \\u5931\\u6548","content":"\\t\\u6d4b\\u8bd5\\u6362\\u884c\\r\\n\\tb\\r\\n\\taaa","cate":"\\u704c\\u6c34\\u4e13\\u533a","user":"edire","addtime":"01-26 01:35:25","edittime":"01-26 01:35:25","comments":"0","favorites":"0"所有的中文和换行等特殊符号均已被转义,你可以去bejson去解析一下这串数据试试~
参考技术A 1:PHP中可以用PHP_EOL来替代,以提高代码的可移植性因为换行在不同系统会有不同的表现形式
在unix系列用 \n
在windows系列用 \r\n
在mac用 \r
2:例如
$content=str_replace(PHP_EOL,"",$content); 参考技术B 输出之前去掉换行符追问
我在数据库取出来以后就已经把换行符去掉了 然后我又进行的数据处理
参考技术C <?php$string = <<<EOF
啊\\n
啊
EOF;
echo $string."</br>";
$search = array("\\n","\\r");
echo str_replace($search, '', $string);
?>
如何根据给定的 json 格式排列数据帧
【中文标题】如何根据给定的 json 格式排列数据帧【英文标题】:How to arrange dataframe according to the given json format 【发布时间】:2021-12-24 18:31:34 【问题描述】:这是我正在处理的数据框 我想把它改成如下格式的数据集
“身份证”: “唯一标识”:“标识” “细节” : “人名”:“姓名” “人名”:“年龄”
【问题讨论】:
【参考方案1】:你的 json 有几个问题。
-
在子 json“详细信息”中不能有两次相同的“人名”键
您缺少外部花括号。
所以修正后的 json 对象应该是这样的。
"Id": "Unique-id": "id", "Details": "Person-name": "name", "Person-age": "25"
如果是这样,那么转换就很简单了。
df = (spark.read.json('test.json')
.withColumn('Unique-Id', F.col('Id.Unique-id'))
.withColumn('age', F.col('Id.Details.Person-age'))
.withColumn('name', F.col('Id.Details.Person-name'))
.drop('Id')
.withColumnRenamed('Unique-Id', 'id')
)
【讨论】:
【参考方案2】:您只需要选择您需要的字段。假设以下输入 DataFrame:
case class Top(Id: Inner)
case class Inner(`Unique-id`: String, Details: Details)
case class Details(`Person-name`: String, `Person-age`: Int)
val ss: SparkSession = ???
import ss.implicits._
val df = Seq(
Top(Inner("1201", Details("satish", 25)))
).toDF
您将拥有以下内容:
root
|-- Id: struct (nullable = true)
| |-- Unique-id: string (nullable = true)
| |-- Details: struct (nullable = true)
| | |-- Person-name: string (nullable = true)
| | |-- Person-age: integer (nullable = false)
您可以使用以下命令构建所需的输出:
df.select(
col("Id.Unique-id") as "id",
col("Id.Details.Person-name") as "name",
col("Id.Details.Person-age") as "age",
)
【讨论】:
以上是关于php,我想把数据库内容做成json格式,数据有换行符,去掉换行符输出后检测还是会换行。的主要内容,如果未能解决你的问题,请参考以下文章