web-dev-qa-db-ja.com

テキストエディターでJavaScriptオブジェクトを有効なJSONにすばやく変換する方法はありますか?

私は大きな古い設定オブジェクトを持っています。何かのようなもの:

var object = {
  item1: 'value1',
  item2: 1000,
  item3: ['a', 'b', 'c'],
  item4: [1, 2, 3],
  item5: {
    foo: 'bar'
  }
};

... 等々。有効なJSONとして書き換えて、チューブ間を移動できるようにしたいのですが、ファイルのすべての行を手動で二重引用符を追加して行きたくありません。もちろん、手作業で全体を角かっこで囲んで、最初の割り当てを最初のプロパティに変更してもかまいませんが、それ以上に、うまい仕事をするリソースがあることを望んでいました。

とにかく、TextMateコマンド、正規表現のトリック、オンラインコンバーター、友好的なロボット、またはこれを退屈にしない他のことを知っているなら、私を助けてください。

36
No Surprises
  1. Firefox/Chrome/Safariを起動します
  2. Firebug /開発者ツールを開く
  3. コードをコピーしてコンソールに貼り付けます。
  4. 次にconsole.log(JSON.stringify(object))と入力してください。

    {"item1":"value1","item2":1000,"item3":["a","b","c"],
     "item4":[1,2,3],"item5":{"foo":"bar"}}
    
  5. コピー/テキストエディターに貼り付けます。

書式設定をより詳細に制御するために、無料のオンラインWebページを用意しています。

http://phrogz.net/JS/NeatJSON

これにより、JSONまたはJSの値を1つのボックスに貼り付け、下部にJSONを表示し、多くのノブとスライダーを使用して、JSONまたはJSの値を調整できます。たとえば、JS値["foo","bar",{dogs:42,piggies:0,cats:7},{jimmy:[1,2,3,4,5],jammy:3.14159265358979,hot:"pajammy"}]は、次のような(およびそれ以上の)形式にすることができます。

[
    "foo",                            <- adjustable indentation
    "bar",
    {"dogs":42,"piggies":0,"cats":7}, <- small objects on one line!
    {
        "jimmy":[1,2,3,4,5],          <- small arrays on one line!
        "jammy":3.142,                <- decimal precision!
        "hot":"pajammy"
    }
]
[
  "foo",
  "bar",
  { "cats":7, "dogs":42, "piggies":0 }, <- spaces inside braces!
  {
    "hot":"pajammy",                    <- sort object keys!
    "jammy":3.14159265358979,
    "jimmy":[ 1, 2, 3, 4, 5 ]           <- spaces after commas!
  }
]
[ "foo",                           <- 'short' format puts first value
  "bar",                           <- on same line as opening bracket...
  { "dogs"    : 42,
    "piggies" : 0,                 
    "cats"    : 7 },               <- ...and close bracket with last value!
  { "jimmy" : [ 1, 2, 3, 4, 5 ],
    "jammy" : 3.14159265358979,    <- spaces around colons!
    "hot"   : "pajammy" } ]        <- align object values!

Screenshot of NeatJSON webpage

122
Phrogz

なぜあなただ​​けではないのか…….

... JSON.stringify()の結果を送信します。 JSONを入力する必要はありませんJSONを実行時に生成する必要があります。

var mything = { .... } ; 
var jsonRep = JSON.stringify(mything); 

オブジェクトをJSONにシリアライズする も参照してください

6
Cheeso

Google Chromeのコンソール(またはおそらくFirebug)を使用できます。

> object
  Object
    item1: "value1"
    item2: 1000
    item3: Array[3]
    item4: Array[3]
    item5: Object
    __proto__: Object
> JSON.stringify(object);
"{"item1":"value1","item2":1000,"item3":["a","b","c"],"item4":[1,2,3],"item5":{"foo":"bar"}}"

もう少しドキュメントが必要な場合は、MDCの ネイティブJSONの使用 を確認してください。

3
Felix

別の JSからJSON 構文の強調表示を備えたオンライン変換ツール。 Javascript to JSON converter

3
faboulaws

このためのツールを作成しました bit.ly/js2json 。 JavaScriptを取り、JSONを出力します。

0
dominik