我有一些客户数据,我使用php脚本将其从CSV转换为json。
一旦转换,数据就会杂乱无章地放在一起,如下所示:
{“客户编号”:“12345”,“客户姓名”:“客户1",”地址代码“:”主要“,”销售人员ID":"aa",“收货地址1":"12345",”收货地址2":"123,假街道“,”收货地址3":"",“收货城市”:“多伦多”,“收货省份”:“安大略省”,“收货邮政编码”:“A1A 1A1",”国家代码“:”CA“,“收货方国家/地区”:“加拿大”,“收货方联系人”:“John Doe",”收货方电话“:”416-555-5555“,”收货方传真“:”416-555-5552“,”发货方式“:”我们的卡车“,”收单方地址1":"12345",“收单方地址2":"123,假街”,“收单方地址3":"",”收单方城市“:”多伦多“,”收单方省份“:”安大略省“,“收单方邮政编码”:“A1A 1A1",”收单方电话“:”416-555-5555“,”税单ID":"HST ON/S",“地点代码”:“托收”,“付款条件ID":"30天PD支票”,“信用额度金额”:“2,000.00”,"Comment1":"30D PDC /10/11-NSF=WR BK ACCT","Comment2":"","Hold":"1",“价目表”:“EASTGEN”}
。
然后,我使用一些str_replace来组织输出并使其看起来更美观。这就是我所拥有的:
$newArray = str_replace( ":",“:",json_encode($newArray));
$newArray = str_replace("[","[\n",$newArray);
$newArray = str_replace("{","{\n",$newArray);
$newArray = str_replace(",\n",$newArray);
$newArray = str_replace("},","\n},",$newArray);
$newArray = nl2br($newArray);
。
我遇到的问题是输出看起来像这样:
[
{
“客户编号”:"12345",
“客户名称”:“客户1",
"Address Code":“主地址”,
“销售人员ID":"aa",
“收货地址1":"12345",
“收货地址2":"123,
假街“,
“收货地址3":"",
“运往城市”:“多伦多”,
“收货方省份”:“安大略省”,
“收件人邮政编码”:"A1A 1A1",
“国家代码”:"CA",
“收货国家”:“加拿大”,
“收货联系人”:“无名氏”,
“收货电话”:"416-555-5555",
“收货传真”:"416-555-5552",
"Shipping Method":“我们的卡车”,
“收单方地址1":"12345",
“收单方地址2":"123,
假街“,
“收单方地址3":"",
“收单城市”:“多伦多”,
“收费省”:“安大略省”,
“收单方邮政编码”:"A1A 1A1",
“收单方电话”:"416-555-5555",
“税务明细表ID":"HST ON/S",
"Location Code":"TOR",
“付款条件ID":"30天PD支票”,
“信用额度”:"2,
000.00",
"Comment1":"30D PDC /10/11-NSF=WR BK ACCT",
"Comment2":"",
"Hold":"1",
“价目表”:"EASTGEN"}]
请注意收货地址%2、收单方地址%2和信用额度。由于我的str_replace,它在那里添加了一个换行符。问题是,我使用的读取json的应用程序需要在同一行上正确注册。有没有一种方法可以用换行符替换逗号,除非它们是地址或其他变量的一部分?
发布于 2013-06-28 00:49:03
为什么要修改JSON编码的字符串?如果你只是想让它看起来“漂亮”,那么你应该使用json_encode($str, JSON_PRETTY_PRINT) -不要对字符串做任何其他的修改。
https://stackoverflow.com/questions/17348733
复制相似问题