0
JSONに "/ n"と "/"がある場合、PHPはエラーを返します。私は私のPHPコードや私の迅速なコードを変更する必要があるか分からない。SwiftやPHPでスラッシュのないJSONにコアデータをエンコードする方法
私のPHPコード
$json = file_get_contents('php://input');
$obj = json_decode($json, true);
print_r($obj);
それがデコードするのに失敗するように見えますか?
Array ([0] => {"user":"1","accbooktype":"æµæ°´è´¦æœ¬","accbookname":"日常","accbookid":"1","category":"日常","cid":"U1L2B555"})
成功出力:
Array ([0] => Array ([cid] => 5 [accbookname] => test [accbooktype] => test [category] => test [user] => test))
これは私の迅速なコードです。ここでコードを変更する場合。コアデータをスラッシュなしでJSONにエンコードする方法を知る必要があります。
//newdict is Core data
let jsonData = try JSONSerialization.data(withJSONObject: newdict, options: [.prettyPrinted])
//I tried this also but not worked
//let jsonEncoder = JSONEncoder()
//let jsonData = try jsonEncoder.encode(newdict)
let jsonString = String(data: jsonData, encoding: .utf8)
bookJSON.append(jsonString!)
print(bookJSON)
出力:
["{\n \"cid\" : \"U1L2B1\",\n \"user\" : \"1\",\n \"accbooktype\" : \"流水账本\",\n \"accbookname\" : \"日常\",\n \"accbookid\" : \"1\",\n \"category\" : \"日常\"\n}"]
この
[
{
"cid": "5",
"accbookname" : "test",
"accbooktype": "test",
"category": "test",
"user": "test"
}
]
あなたはすでにfile_get_contents( 'php:// input')から2回エンコードされたjsonを取得しています。 エンドポイントを呼び出してデータを渡す、反対側のjsonエンコーディングを削除します。また、特殊文字のためにエンドポイントに渡す前にデータをutf8にエンコードする必要があるかもしれません。 – Eimsas
辞書をJSONに迅速にエンコードする必要はありませんか? @Eimsas –