0

以下のような文字列応答があり、無効な json が含まれています"obj13="。変換してJSONObject(JAVA)使用したいのですが、文字列分割操作を使用せずに JSONObject に変換する良い方法はありますか。

obj13={
  players: [
    {
      name: "rocky",
      place: "brazil",
      age: "21",
    },
    {
      name: "andy",
      place: "New Zealand",
      age: "23",
    }
  ]
}
4

1 に答える 1

1

もちろん、これは JSON ではなく JavaScript です。可能であれば、サービス プロバイダーに戻って JSON 応答を求めます。

文字列の形式が一貫している場合は、次を使用できます。

json=json.substring(json.indexof('=')+1);  

次に、結果を解析します。ほとんどの優れたパーサーには、引用符なしでキーワードを許可し、不要なコンマを許可するオプションが必要であることに注意してください(の場合はそうですが、残念ながらJSONObjectを作成しませんが、より低いレベルです-データ構造を構築するように設計されていますこれは、必要に応じて JSONObject にすることができますが、コード化する必要があります)。

結果に代入がある場合とない場合がある場合は、少し手の込んだものにして、「=」の前の非空白文字が JS 識別子に対して有効であり、その後の最初の非空白文字が「{」であることを確認したい場合があります。 .

于 2013-08-29T17:02:12.093 に答える