1

こんにちは、プロジェクトに取り組んでいます。JSON データで満たされたデータベースを更新する必要がありました。ただし、このデータは次のようになります。

{\"Id\":\"1\",\"サウンディング\":\"1.075\",\"Ullage\":\"0\",\"フル\":\"100\",\ "CapacityM\":\"3.918\",\"CapacityMT\":\"3.918\",\"LCG\":\"3.779\",\"TCG\":\"0\",\"VCG \":\"2.39\",\"FSM\":\"4.492\"}

ただし、元のデータを (CSV ファイルから) json 形式に変換すると、次のように表示されます。

{"ID":1,"SOUNDING":1.075,"ULLAGE":0.000,"FULL":100.000,"CAPACITY":3.918,"CAPACITY":3.918,"LCG":3.779,"TCG":0.000," VCG":2.390,"FSM":0.000}

最初のスラッシュのようにすべてのスラッシュを追加して、正しい形式にする方法を教えてください。本当に必要ですか?

4

3 に答える 3

1

データベース内の文字列は、javascript (または C または Java、チェックする必要があります) 文字列エスケープされているようです。これを行う最も簡単な方法は、org.apache.commons.lang3.StringEscapeUtils.escapeEcmaScript()またはorg.apache.commons.lang.StringEscapeUtils.escapeJavaScript()メソッドを使用することです。これらのクラスの他のメソッドも確認してください。

別の方法は、最初の JSON を文字列として 2 番目の一時 JSON オブジェクトに格納し、次に 2 番目の JSON オブジェクトを文字列に変換してから、1 番目の JSON オブジェクトのエスケープされた文字列値だけを含む部分文字列を取得することです (それは間の部分になると思います)。 2 番目の JSON 文字列の 3 番目と最後の二重引用符...)。少しハックですが、余分なライブラリを追加することは避けます。

于 2012-12-03T20:41:43.747 に答える
0

何も誤解していなければ、 を使用してこれを解決できると思いますjson_parse

以下に例を示します: http://jsfiddle.net/mqchen/yEJdq/

json_parse(data, function(key, value) {
    var floatVal = parseFloat(value);
    return !isNaN(floatVal) && isFinite(value) ? floatVal : value;
});

json_parse を使用しますが、数字のように見える文字列を数字として解釈するデリゲートを送信します。

編集: これは、すべてのキーを大文字に変換するバージョンです (それも必要な場合): http://jsfiddle.net/mqchen/yEJdq/2/

于 2012-12-03T19:26:41.057 に答える
0

一部のプログラミング言語の文字列/テキスト リテラル形式用にデータがエスケープされているようです。

于 2012-12-03T19:14:47.417 に答える