2016-06-14 15 views
2

最初はサーバーからのコンテンツがJSONデータでした。データに完全にアクセスできました。レスポンスがJSONデータとテキストの両方を含む場合のJSONデータへのアクセス

{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" } 

これで、サーバーからの応答がjson data + textデータに変更されました。

{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" } 

Properties for service: 
======================= 
ServiceEndpoint: https://somedomain:1200/web/Servlet/SOAP/Services 
Certificates: false 
DocumentName: note.pdf 

ので、アプリケーションのテキストにコンテンツタイプを変更すると、分割方法を使用するかどうかは、私たちがこの問題を解決することができますまたは任意のより良い方法はあります唯一の方法ですか?

+1

は多分ちょうど応答の最初の行を取ると、それをJSONとして解析しますか?コンテンツタイプはここでは無関係ですが、それでもテキスト出力なので重要ではありません。 – Mark

+7

うわー、誰がそのAPIを設計したのですか?フォーマットされた応答とALSOを返すと、任意のテキストがフォーマットされた応答のアイデアを損なう。あなたの唯一の選択肢はJSONを自分で解析することです。 – Utkanos

+0

あなたは何の反応も得られません... config.dataとしてconfigのデータparamのインターセプタでそれを取得してみてください。もしもっとうまくいけばconfigオブジェクトをconsolしてみてください。 – Kailas

答えて

1
{ 
    ... // your JSON properties here 
    "serviceProperties": { // properties for service 
     "ServiceEndpoint": "https://somedomain:1200/web/Servlet/SOAP/Services", 
     "Certificates": false, 
     "DocumentName": "note.pdf" 
    } 
} 

、JSON、純粋なテキストデータを混合して間違っている(それは標準化されたデータフォーマットを使用することの利点を破るように)避けるべきです。おそらく、生産コードに誤って含まれていたデバッグログのようなものがありますか?

ない場合は、応答のちょうど最初の行を読むべきであると応答構造のこれ以上の変化を期待して、残りを無視して、JSONデータとしてそれを解析;)

0

あなたは本当にあなたのAPIデザインを考え直すべきです。

JSONの一部としてテキスト部分を追加するとどうなりますか?コメント欄で述べたように

+0

サービスレスポンス構造を変更できません。 – user1645290

関連する問題