2016-02-12 20 views
12

"options"パラメータにJSON文字列を必要とするtypescriptでオブジェクトを初期化しようとしています。正確には、オブジェクト​​です。 optionsパラメータは、JSON文字列でなければならず、dijitを初期化するためのオブジェクトではありません。typescriptオブジェクトをjson文字列に変換する

手動で処理することなく、typescriptオブジェクトからJSON文字列を作成する方法はありますか?

具体的にはTypeScriptに関連するので、特に「TypeScript」とは言わない質問はリンクしないでください。 JavaScriptの派生形はコードを書く方法が異なりますので、これは現在TypeScriptに関連するこの問題を尋ねる唯一の投稿です。

+1

はあなたがJSON文字列を必要としますか?それはちょうどオブジェクトを取るように見えます。しかし、あなたは['JSON.stringify'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects)を使って任意のオブジェクト(サイクルがないと仮定して)をJSONに変換できます/ JSON/stringify) –

+0

ありがとうマイク、私はそれをオブジェクトとして移動しますが、将来他の人(またはそれでも私)にとって有用かもしれないので質問を残します:) – user1567453

+0

[JavaScriptオブジェクトのストライ化] (http://stackoverflow.com/questions/18383854/stringify-javascript-object) – toskv

答えて

32

JSON.stringify(オブジェクト)を使用してください。 Javascriptに組み込まれているため、Typescript内でも使用できます。 JavaScriptで利用できる

+0

これは、私がJSON.stringifyをTypescriptで使用できる理由を説明しているので、おそらくこれを答えとして選択するつもりです。 8分前に受け入れることはできません.XDはポップアップを表示します。 – user1567453

+1

以下のガイドに従って適切なオブジェクト定義を行うと、すべてのキーでプライベート変数名(アンダースコアがプライベートメンバーと一緒に使用されている場合)が使用されるため、これは機能しません。https://www.typescriptlang.org/docs/handbook/classes html#public-private-and-protected-modifiers –

+0

@ N15M0_jkはい、私もそれに気付きました。 JSON.stringify(obj).replace(/ "_/g、 '"')を使用してその問題を解決しています。 – HammerNL

4

あなたは、標準のJSONオブジェクトを使用することができ、:

var a: any = {}; 
a.x = 10; 
a.y='hello'; 
var jsonString = JSON.stringify(a); 
関連する問題