問題タブ [json-lib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4574 参照

java - JSON-lib エスケープ/文字列の保持

私はJava http://json-lib.sourceforge.netのJSON-libライブラリを使用しています

JSONのように見える単純な文字列を追加したいだけです(ただし、ライブラリがjsonである可能性があることを自動的に認識して、文字列として扱うだけにしたくありません)。ライブラリのソースを調べると、醜いハックなしではそれを行う方法が見つかりません。

例:

object.toString()私たちに与えます{"myString":{"dont":"treat it as json"}}

そして私はただ持っていたい{"myString":"{\"dont\":\"treat it as json\"}"}

ソースコードを変更せずにそれを達成する方法は? このコードをユーザーからのチャット メッセージのトランスポートとして使用しているため、通常のチャット メッセージでは問題なく動作しますが、ユーザーがメッセージとして JSON 形式を入力すると、ここで説明されている JSON-lib のデフォルトの動作のためにメッセージが壊れます。

0 投票する
5 に答える
7522 参照

java - json-lib を使用して Java に変換すると ClassCastException がスローされる

json-libを使用してjson オブジェクトを Java に変換しています。コードは次のとおりです。

次の例外がスローされます。

スレッド「メイン」の例外 java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean を code.orgexample.json.JsonConvertorDemo.main(JsonConvertorDemo.java:30) で code.orgexample.json.B
にキャストできません

json-lib でマップの値のクラス タイプを指定する方法はありますか?

助けてくれてありがとう。

0 投票する
2 に答える
8453 参照

java - JSON-lib の JSONObject.put(..) に JSON を含む文字列を強制的にエスケープさせる方法は?

JSON-lib を使用する場合、JSONを含む文字列をエスケープされた文字列としてではなく JSON として格納することをメソッドがJSONObject停止するにはどうすればよいですか?put

例えば:

プリント:

そして私はそれを印刷したい:

はい、私はこれが不快であることを認識しています。ただし、これは JSON シリアライゼーション パイプラインをサポートするためのものであり、相互運用性のために、これは予期される動作です。有効な JSON である/含まれている可能性のあるユーザー入力をシリアル化する場合があります。ユーザー入力が、その入力をシリアル化する JSON オブジェクトの一部になることは望ましくありません。

\JSON-lib が文字をエスケープするため、手動エスケープは機能しません。

出力:

この時点で、複雑な JSON オブジェクトを手動で選択的にエスケープできるようにする回避策は、そもそも JSON-lib を使用する価値を完全に無効にします。

また、以前にもこの質問があったことは承知しておりますが、残念ながらその回答を簡単に受け入れることはできません。JSON-lib は私のプロジェクトの多くの領域で頻繁に使用される依存関係であり、それを交換することは大きな仕事になるでしょう。Jackson、simple-json、または Gson へのスワップを楽しむ前に、JSON-lib でこの目標を達成する方法がないことを完全に確認する必要があります。

0 投票する
1 に答える
26771 参照

java - json文字列をJavaMap(JSONLib)に変換します

JSON-lib(http://json-lib.sourceforge.net/)を使用してjson文字列をJavaマップに変換するにはどうすればよいですか?DynaBeanに変換できます:

しかし、Javaマップに直接変換する方法が見つかりませんでした

編集:

私は解決策を見つけました:

0 投票する
3 に答える
2587 参照

java - net.sf.json.JSONObjectライブラリを使用して単一のJSONオブジェクトに複数のJSONインスタンスを配置するにはどうすればよいですか?

必要な出力:{名前:something1、ステータス:up}、{名前:something2、ステータス:down}...など

0 投票する
5 に答える
44887 参照

java - javaでjsonを解析する

私はjson解析の初心者です。リクエストからjson文字列を取得しましたが、Javaで解析する必要があります。これにはjson-libを使用しています。でもよくわからないので本当に困っています。次のデータを抽出する必要があります

そのために次のJavaコードを使用しましたが、必要な結果が得られません。誰か助けてください...

どうもありがとう!

Javaコード(sは取得したjson文字列です)

json 解析する必要があります

0 投票する
4 に答える
6164 参照

java - JSON プロパティ「null」を解析できません

JSON の「null」プロパティを解析しようとしたときに 1 つの問題に直面しました。本当の問題を理解するのを手伝ってください。次のJSONがありました:

http://jsonlint.comを使用して、この JSON が有効であることを検証しました。私はJavaからそれを解析しようとしました:

しかし、例外があります:

http://json-lib.sourceforge.netの json-lib-2.4-jdk15.jar を使用して解析しました。誰でもこれを明確にしてもらえますか? このライブラリが例外をスローするのに、オンライン バリデーターが有効な JSON であると言ったのはなぜですか? それはライブラリのバグですか、それとも何か間違っていますか?

0 投票する
1 に答える
2252 参照

java - Java Json パーサー

Tomcat 5 と JSON パーサーを使用していますnet/sf/json。プロジェクトにインポートjson-lib2.4-jdk15.jarして、Tomcat の「common/endorsed」ディレクトリに追加します。しかし、サーブレットを開始すると、次の例外があります。

誰かが私を助けることができますか?

0 投票する
2 に答える
2094 参照

java - JSON-Lib および JDK 1.4 での NoSuchMethodError

json-lib-2.4-jdk13.jar という名前の、おそらく最新の JDK 1.3 互換バイナリをダウンロードしましたが、次のエラーが発生しています。

JDK 1.4 API を確認したところ、ThreadLocal の remove メソッドは実際にはサポートされておらず、JDK 1.5 でのみ追加されていることがわかりました。

問題のあるコードは次のとおりです。

ここで明らかな何かを見逃したのか、追加のダウンロードなどが必要なのか、誰かが知っていますか?

0 投票する
2 に答える
1416 参照

java - Androidでjson-libを使用しているときにクラスが例外を見つけませんでした

Xml ファイルである Web から入力を取得し、ライブラリjson-libを使用してJson データに変換しています。ユーザー ライブラリを作成し、次の jar ファイルを追加しました。

  1. json-lib-2.3-jdk15.jar
  2. commons-collections.jar
  3. commons-lang.jar
  4. commons-logging.jar
  5. commons-beanutils.jar
  6. ezmorph-1.0.6.jar
  7. xom-1.1.jar

しかし、それでも次のエラーが発生します:-

08-04 13:58:31.642: エラー/dalvikvm(484): メソッド net.sf.json.xml.XMLSerializer.addNameSpaceToElement から参照されるクラス 'net.sf.json.xml.XMLSerializer$CustomElement' が見つかりませんでした

誰でもこの問題を解決するのを手伝ってくれますか?