2011-11-10 14 views
1

私はJSON.stringify(object)メソッドを使ってJSオブジェクトをJSON文字列に変換する方法を知っています。文字列オブジェクトをJSONにエンコードするにはどうすればよいですか?JSON文字列をJSオブジェクトに変換するにはどうすればよいですか?

+2

JSONオブジェクトに変換するにはJSON形式の文字列が必要です。どのプラットフォームですか? –

+0

@ジガール..ごめんなさいJavaScriptで – Mihir

答えて

3

文字列をJSONに変換することはできません。 JSONの最も外側のデータ型は、オブジェクトまたは配列でなければなりません。

the specificationを参照してください:

JSON文法

A JSONテキストは、トークンのシーケンスです。トークンのセットは、 の6つの構造文字、文字列、数字、および3つのリテラル の名前を含みます。

JSONテキストは、シリアル化されたオブジェクトまたは配列です。

あなたは、オブジェクトまたは配列内の文字列をラップし、そのシリアライズできます

それはJSONをパースした後に、それはそれから文字列を抽出しなければならないことを知っていなければならないだろうに処理が何であれ
JSON.stringify([myString]); 
JSON.stringify({foo: myString}); 

しかし、。

+0

@Quentin .... var str = "MyName"のような文字列があるとします。私はJSON.stringify(str)を使用できますか? – Mihir

+0

いいえ!文字列は '[]'や '{} 'ではありません – Quentin

+0

JSON.parse({str})やJSON.parse([str])のように解析する必要がありますか? – Mihir

4

同じ方法:

var jsonEncodedString = JSON.stringify(string); 

またはあなたがrevsere

var jsonString = JSON.stringify({hello:"world"}), 
jsObject = JSON.parse(jsonString); 
+0

私はオブジェクトに変換する必要があります... – Mihir

+0

@Tom ...例外としてスローされたとしてスクリプトエラーを出しています... json2.jsの行番号447で – Mihir

+0

おそらく、正しくフォーマットされていないjson、例外をキャッチし、報告してください。 – Tom

0

を求めている私はあなたがJSON.parse functionを探していると思います。

var jsonString = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'; 
var contact = JSON.parse(jsonString); 

var fullname = contact.surname + ", " + contact.firstname; 
// The value of fullname is "Aaberg, Jesper"