有些时候,需要使用测试数据进行测试,这些数据一般都是json格式的,和NSDictionary格式相近,但是又有些不同,不能够直接使用,主要问题在于OC字面量是以@开头,手动补上@会比较麻烦,一个简单的脚本可以解决这个事情。
脚本内容如下
#!bin/sh
sed -i 's/false\s*\,/0,/' $1
sed -i 's/true\s*\,/1,/' $1
sed -i 's/\"/ \"/' $1
sed -i 's/\"\s*:\s*/\" : /' $1
sed -i 's/\s\"/ @\"/g' $1
sed -i 's/[0-9\{\[]\+\,\?/@&/' $1
转换结果
{
"linkColor": "ffffff",
"atMe": false,
"true": true,
"nickName": " 有有有v1/use",
"redPackInfo": {
"uid": 12835634,
"message": "恭喜发财,大吉大利!"
},
"array": [
{
"wer": "wer"
}
]
}
== >
@{
@"linkColor" : @"ffffff",
@"atMe" : @0,
@"true" : @1,
@"nickName" : @" 有有有v@1/use",
@"redPackInfo" : @{
@"uid" : @12835634,
@"message" : @"恭喜发财,大吉大利!"
},
@"array" : @[
@{
@"wer" : @"wer"
}
]
}
sed命令以行为单位进行处理,所以json数据先要格式化,Sublime的插件可以很好的完成json格式化。