回答:
現在のすべてのブラウザーには、組み込みのJSONサポートが組み込まれています。IE6/ 7のような先史時代のブラウザーを扱わない限り、次のように簡単に行うことができます。
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
var formattedJSON = JSON.stringify(j, null, 2);
と 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.
replacer
あるあなたはまだ使用したいのであれば、オプションでspace
あなたが入れた引数null
のためにreplacer
。この関数をきれいな印刷に使用することに興味がある場合は、この回答も役に立ちます。stackoverflow.com
Thomas Frankによる更新された/より良い方法をチェックしてください:
2008年5月17日更新:toObject-methodに小さなサニタイザーが追加されました。 これで、toObject()は悪意のあるコードを検出しても、文字列をeval()しません。
JSONコンセプトの父であるDouglas Crockfordが、JavaScriptの最初の文字列指定子の1つを書きました。その後Trim PathのSteve Yenが私がしばらく使ってきた素晴らしい改良版を書きました。私があなたと共有したいのは、スティーブのバージョンへの私の変更です。基本的に、彼らは私の文字列化を作りたいという願望から生じました:
- 循環参照の処理と復元
- (オプションとして)関数/メソッドのJavaScriptコードを含める
- 必要に応じて、Object.prototypeからオブジェクトメンバーを除外します。
JSON.stringify()メソッドを使用して、JSONオブジェクトを文字列に変換できます。
var j={"name":"binchen"};
JSON.stringify(j)
逆のプロセスでは、JSON.parse()メソッドを使用して、JSON文字列をJSONオブジェクトに変換できます。
JSON.stringify(j, null, 4)
美化も必要な場合に備えて、美化されたJSONを提供します
2番目のパラメーターはreplacerです。文字列化するときに特定のキー値をフィルターで除外できるフィルターとして使用できます。nullに設定すると、すべてのキーと値のペアが返されます
JSON.stringify
JavaScriptオブジェクトをJSONテキストに変換し、そのJSONテキストを文字列に格納します。
変換はオブジェクトから文字列へ
JSON.parse
JSONテキストの文字列をJavaScriptオブジェクトに変換します。
変換は文字列からオブジェクトへ
var j={"name":"binchen"};
これをJSON文字列にするには、次のように使用できます。
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
詳細については、以下のこのリンクを参照してください。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
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);
出力
{"name":"binchen","class":"awesome"}
私は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は文字列表現を提供します(このスレッドで他の回に述べたように)大きなオブジェクトがある場合を除き、これも機能するはずです - ニーズに合わせてビルドすることを確認してください -配列よりも名前が必要でした
あなたはこのようなネイティブの文字列化関数を使うことができます
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
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}'
既存のJSONの置換は多すぎるため、独自の関数を記述しました。これは機能しているようですが、いくつかのエッジケースを見逃した可能性があります(私のプロジェクトでは発生しません)。おそらく、既存のオブジェクトに対しては機能せず、自作のデータに対してのみ機能します。
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;
}
So in order to convert a js object to JSON String:
オブジェクトを文字列に変換する簡単な構文は次のとおりです。
JSON.stringify(value)
完全な構文は次のとおりです 。JSON.stringify(value [、replacer [、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"}"*/
JSON.stringify
このような変換を行うために使用するだけです-ただし、undefined
値を持つフィールドはjsonに含まれないことに注意
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
remember
出力JSONからフィールドが「消える」
JSON.stringify()メソッドを使用して、JSONオブジェクトを文字列に変換できます。
var j={"name":"hello world"};
JSON.stringify(j);
この文字列をjsonオブジェクトに戻すには、JSON.parse()メソッドを使用できます。
使用する JSON.stringify(param1, param2, param3);
とは: -
param1-> JSONに変換する値
param2->独自の方法で文字列化する関数。または、最終的なJSONにオブジェクトを含める必要があるホワイトリストとして機能します。
param3->追加する空白の数を示す数値データ型。最大許容数は10です。
str => objに変換
const onePlusStr = '[{"brand": "oneplus"}、{"model": "7T"}]';
const onePLusObj = JSON.parse(onePlusStr);
obj => strに変換する
const onePLusObjToStr = JSON.stringify(onePlusStr);
//use JSON.stringify({})
const stringified = JSON.stringify({})//変換するオブジェクトを文字列形式で渡します
json文字列があり、それが[]でラップされていない場合は、最初にラップします
var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);
または
var jsonobj = eval('(' + str + ')');
console.log(jsonobj);
JSON.stringify()
あなたが探している方法です。