Webサービスから戻ってくるXMLがあります。私は順番にxsonをjsonに変換するためにxsltを使います(私は誰かのxmlサービスをjsonベースのサービスに変えています)。 JSONを出力している私のサービスは、事実上のiphone jsonフレームワーク、SBJSONを使って私のiPhoneアプリケーションで消費されています。Stig JSONライブラリの解析エラー:JSONで新しい行をどのように扱いますか?
問題は、[string JSONValue]メソッドのチョークを使用しているため、改行が原因であることがわかります。私が問題を教えても、それを修正する方法はわかりません。
パーサは、文字列X
の解析に失敗したが、あなたはそれが法的なJSONのですか?このフレームワークは本当に厳格なので、(明らかに)いくつかのバリデーターが受け入れるものは受け入れられません。特に、文字列トークンのリテラルTAB、NEWLINEまたはCARRIAGE RETURN(および他のすべての制御文字)文字は許可されませんが、検出するのは非常に困難です。
以下のようなものがある場合(数値は異なる場合があります)、文字列の1つにUnicode制御文字が許可されていません。
NSLocalizedDescription = "アンエスケープ制御文字 '0x9'";
私は、次のような行を使用して試してみました:NSString *myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
しかし、それは動作しません。私のXMLサービスはCDATAとして戻っていません。 xmlには、私が知る限り、それに改行が入っています(どうすれば確認できますか)。 JSONに改行を忠実に伝えたいだけです。
私は実際にこれで1日を過ごしました。だから、尋ねる時間です。もう私は自尊心がありません。私はあなたのためのソリューションを持っていないが、私は通常、TouchJSONプロジェクトからCJSONSerializerとCJSONDeserializerを使用して、それはかなり信頼性がある
"エラーを無視する"は良い戦略ではありません、IMO。症状を無視するよりも問題に対処する方が良い。 –