web-dev-qa-db-ja.com

JSオブジェクトをJSON文字列に変換する

JSでオブジェクトを次のように定義したとします。

var j={"name":"binchen"};

オブジェクトをJSONに変換する方法出力文字列は次のようになります。

'{"name":"binchen"}'
1091
Bin Chen

現在のすべてのブラウザにはネイティブのJSONサポートが組み込まれています。そのため、IE6/7のような先史時代のブラウザを扱っていない限り、次のように簡単に行えます。

var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
1721
Andris

JSON.stringify()json2.js またはほとんどの最近のブラウザでネイティブにあります。

   JSON.stringify(value, replacer, space)
        value       any JavaScript value, usually an object or array.

       replacer    an optional parameter that determines how object
                    values are stringified for objects. It can be a
                    function or an array of strings.

       space       an optional parameter that specifies the indentation
                    of nested structures. If it is omitted, the text will
                    be packed without extra whitespace. If it is a number,
                    it will specify the number of spaces to indent at each
                    level. If it is a string (such as '\t' or ' '),
                    it contains the characters used to indent at each level.

       This method produces a JSON text from a JavaScript value.

更新された/より良い方法をチェックしてください。

2008年5月17日更新:toObject-methodに小型サニタイザーを追加しました。 toObject()は、 itに悪意のあるコードが見つかった場合、文字列をeval()しません。 includeFunctionsフラグをtrueにします。

JSONの概念の父であるDouglas Crockfordが、JavaScript用の最初の文字列化機能の1つを書きました。後でTrim PathのSteve Yenが私がしばらくの間使っていたNice改良版を書きました。私があなたと共有したいのはSteveのバージョンへの私の変更です。基本的にそれらは私の弦楽器製作者の願いから生まれました。

• handle and restore cyclical references  
• include the JavaScript code for functions/methods (as an option)  
• exclude object members from Object.prototype if needed.
26
Sarfraz

JSONオブジェクトをStringに変換するには、 JSON.stringify() メソッドを使用します。

var j={"name":"binchen"};
JSON.stringify(j)

逆のプロセスでは、 JSON.parse() メソッドを使用してJSON StringをJSON Objectに変換できます。

17
Aravind Sachin

Json Stringify jsオブジェクトをjsonに変換できます

 var x = {"name" : "name1"};
 JSON.stringify(x);
14
Aatif Bandey
JSON.stringify({"key":"value"});
10
Om Prakash

AngularJSを使用している場合は、 'json'フィルタがそれを実行します。

<span>{{someObject | json}}</span>
8
Ariel Cabib

AngularJSで 

angular.toJson(obj, pretty);

obj: JSONにシリアル化される入力です。

可愛い(オプション):
trueに設定すると、JSON出力に改行と空白が含まれます。整数に設定されている場合、JSON出力にはインデントごとにその数のスペースが含まれます。

(デフォルト:2)

8
Nazrul Islam

JSON.stringifyはJavascriptオブジェクトをJSONテキストに変換し、そのJSONテキストを文字列に格納します。

変換は オブジェクトから文字列への変換

JSON.parseは、JSONテキストの文字列をJavascriptオブジェクトに変換します。

変換は 文字列からオブジェクトへの変換

var j={"name":"binchen"};

それをJSON Stringフォローにすることができます。

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

詳細については、以下のこのリンクを参照してください。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

7
Dulith De Costa

あなたが美化も必要な場合に備えてJSON.stringify(j,null,4)は美化されたJSONを与える

7
Vignesh Murugan

Stringifyメソッドから奇妙になるまで、このために定義された1つのカスタム

var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
   json +=",";
}
json+="}";
document.write(json);

_ output _

{"name":"binchen","class":"awesome"}

_ライブ_ http://jsfiddle.net/mailmerohit5/y78zum6v/

5
Rohit Kumar

Stringifyがメモリ不足になる問題があり、他のソリューションが機能していないように見えました(少なくとも動作させることができませんでした)。 Rohit Kumar のおかげで、非常に大きなJSONオブジェクトを繰り返し処理して、クラッシュを防ぎます

var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
    MyObjectStringify += JSON.stringify(j[x]);
    count++;
    if (count < last)
        MyObjectStringify += ",";
}
MyObjectStringify += "]}";

MyObjectStringifyは、大きなオブジェクトがある場合を除き、文字列表現を提供します(このスレッドで他の回で言及したように)-ニーズに合わせてビルドすることを確認してください-必要です配列よりも名前を持つこと

5
Sam
var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr  );
5
Tyler Durden

const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
  console.log(myJSON);

4

ウォーキング…使いやすい

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvert = JSON.stringify(formData);  // Convert to json
});

ありがとう

3
Subroto Biswas

コピーして貼り付けるだけ

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvertedData = JSON.stringify(formData);  // Convert to json
});
3
Subroto Biswas

オブジェクトを定義する

let obj = {
"firstname" : "Hello",
"lastname" : "javascript"

};

それからこのコードを使ってそれを文字列に変換します

strObj= JSON.stringify(obj);

結果を確実に確認するため 

console.log(strObj);
1
nada diaa
So in order to convert a js object to JSON String: 

オブジェクトを文字列に変換するための簡単な構文は です。

JSON.stringify(value)

完全な構文は次のとおりです。 JSON.stringify(value [、replacement [、space]])

簡単な例を見てみましょう。 が必要な場合は、文字列全体が二重引用符で囲まれ、文字列内のすべてのデータがエスケープされます。

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/
1
Rahul Choudhary

あなたが文字列形式でJSONプロパティ値を取得したい場合は、次の方法を使用してください 

var i = {"x":1}

var j = JSON.stringify(i.x);

var k = JSON.stringify(i);

console.log(j);

"1"

console.log(k);

'{"x":1}'
1
KARTHIKEYAN.A

既存のJSONの置き換えは私にとっては多すぎるので、私は私自身の関数を書きました。これはうまくいくようですが、私はいくつかのEdgeのケースを見逃しているかもしれません(私のプロジェクトでは起こりません)。そして、おそらく既存のオブジェクトに対しては機能せず、自作のデータに対してのみ機能します。

function simpleJSONstringify(obj) {
    var prop, str, val,
        isArray = obj instanceof Array;

    if (typeof obj !== "object") return false;

    str = isArray ? "[" : "{";

    function quote(str) {
        if (typeof str !== "string") str = str.toString();
        return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
    }

    for (prop in obj) {
        if (!isArray) {
            // quote property
            str += quote(prop) + ": ";
        }

        // quote value
        val = obj[prop];
        str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
        str += ", ";
    }

    // Remove last colon, close bracket
    str = str.substr(0, str.length - 2)  + ( isArray ? "]" : "}" );

    return str;
}
1
Hauke

あなたはこのようにネイティブの文字列化関数を使用することができます

const j={ "name": "binchen" }

/** convert json to string */
const jsonString = JSON.stringify(j)

console.log(jsonString) // {"name":"binchen"}

JSONファイルを文字列に変換するJSON.stringify(j)を使用できます。

0
MH-Li

以下のコードを追加するだけです。
var j={"name":"binchen"}; JSON.stringify(j); // '{"name":"binchen"}'

0
ubastosir

そのためにはJSON.stringify()関数を使用できます。

0
Mitesh Panchal
var j={"name":"binchen"};
var x= json.stirngify(j);

これは _ json _ オブジェクトを Stingified Objectに変換します。

片道バインディングの場合 htmlでそうすることができます

<span>{{j|json}}</span>

0
Vignesh

Node JSでのデバッグには util.inspect() を使用できます。循環参照の方がうまく機能します。

var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
0
Pavel Netesa

JSON.strigify()はそのためのベストプラクティスです。

var x = {
    "name" : "name1",
    "age"    : 20
};
var json = JSON.stringify(x);
console.log(json);
0
Rakibul