Jawaban:
Semua browser saat ini memiliki dukungan JSON bawaan. Jadi, selama Anda tidak berurusan dengan browser prasejarah seperti IE6 / 7, Anda dapat melakukannya semudah itu:
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
var formattedJSON = JSON.stringify(j, null, 2);
Dengan JSON.stringify()
ditemukan di json2.js atau asli di sebagian besar browser modern.
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
adalah opsional, jadi jika Anda ingin tetap menggunakan space
arg Anda meletakkan null
untuk replacer
. Jika Anda tertarik menggunakan fungsi ini untuk mencetak cantik, saya menemukan jawaban ini juga berguna: stackoverflow.com/a/7220510/857209
Lihat cara yang diperbarui / lebih baik oleh Thomas Frank:
Pembaruan 17 Mei 2008: Pembersih kecil ditambahkan ke metode toObject. Sekarang toObject () tidak akan eval () string jika ia menemukan kode berbahaya di dalamnya. Untuk keamanan lebih: Jangan setel flag includeFunctions menjadi true.
Douglas Crockford, bapak konsep JSON, menulis salah satu pengali pertama untuk JavaScript. Kemudian Steve Yen di Trim Path menulis versi perbaikan yang bagus yang telah saya gunakan selama beberapa waktu. Ini perubahan saya ke versi Steve yang ingin saya bagikan dengan Anda. Pada dasarnya mereka berasal dari keinginan saya untuk membuat stringifier:
- menangani dan mengembalikan referensi siklus
- termasuk kode JavaScript untuk fungsi / metode (sebagai opsi)
- kecualikan anggota objek dari Object.prototype jika diperlukan.
Anda dapat menggunakan metode JSON.stringify () untuk mengubah objek JSON menjadi String.
var j={"name":"binchen"};
JSON.stringify(j)
Untuk proses sebaliknya, Anda bisa menggunakan metode JSON.parse () untuk mengubah String JSON menjadi Objek JSON.
Di angularJS
angular.toJson(obj, pretty);
obj: Input akan diserialisasi ke JSON.
cantik (opsional):
Jika disetel ke true, output JSON akan berisi baris baru dan spasi putih. Jika diatur ke integer, output JSON akan berisi banyak spasi per indentasi.
(standar: 2)
JSON.stringify(j, null, 4)
akan memberi Anda JSON yang dipercantik jika Anda membutuhkan kecantikan juga
Parameter kedua adalah replacer. Ini dapat digunakan sebagai Filter di mana Anda dapat memfilter nilai kunci tertentu saat pengetatan. Jika disetel ke nol, itu akan mengembalikan semua pasangan nilai kunci
Jika Anda menggunakan AngularJS, filter 'json' harus melakukannya:
<span>{{someObject | json}}</span>
JSON.stringify
mengubah objek Javascript menjadi teks JSON dan menyimpan teks JSON itu dalam sebuah string.
Konversi adalah Object to String
JSON.parse
mengubah string teks JSON menjadi objek Javascript.
Konversi adalah String to Object
var j={"name":"binchen"};
untuk membuatnya menjadi String JSON berikut ini dapat digunakan.
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
Untuk info lebih lanjut Anda bisa merujuk ke tautan ini di bawah.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
Satu custom didefinisikan untuk ini, sampai kita melakukan aneh dari metode stringify
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);
KELUARAN
{"name":"binchen","class":"awesome"}
Saya mengalami masalah dengan penguraian kehabisan memori dan solusi lain tampaknya tidak berfungsi (setidaknya saya tidak bisa membuatnya bekerja) yang saat itu saya tersandung pada utas ini. Terima kasih kepada Rohit Kumar, saya hanya mengulangi objek JSON saya yang sangat besar untuk menghentikannya agar tidak menabrak
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 akan memberi Anda representasi string Anda (seperti yang disebutkan lain kali di utas ini) kecuali jika Anda memiliki objek besar, ini juga akan berfungsi - pastikan Anda membangunnya agar sesuai dengan kebutuhan Anda - saya membutuhkannya untuk memiliki nama daripada array
Bangun ... Mudah digunakan
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Terima kasih
Anda dapat menggunakan fungsi stringify asli seperti ini
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
jika Anda ingin mendapatkan nilai properti json dalam format string gunakan cara berikut
var i = {"x":1}
var j = JSON.stringify(i.x);
var k = JSON.stringify(i);
console.log(j);
"1"
console.log(k);
'{"x":1}'
Untuk debugging di Node JS Anda dapat menggunakan util.inspect () . Ini bekerja lebih baik dengan referensi melingkar.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
JSON yang ada menggantikan di mana terlalu banyak untuk saya, jadi saya menulis fungsi saya sendiri. Ini tampaknya berhasil, tetapi saya mungkin telah melewatkan beberapa kasus tepi (yang tidak terjadi dalam proyek saya). Dan mungkin tidak akan berfungsi untuk objek yang sudah ada sebelumnya, hanya untuk data buatan sendiri.
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:
Sintaks sederhana untuk mengonversi objek ke string adalah
JSON.stringify(value)
Sintaks lengkapnya adalah: JSON.stringify (nilai [, replacer [, spasi]])
Mari kita lihat beberapa contoh sederhana. Perhatikan bahwa seluruh string mendapat tanda kutip ganda dan semua data dalam string akan lolos jika diperlukan.
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"}"*/
Cukup gunakan JSON.stringify
untuk melakukan konversi seperti itu - namun ingatlah bahwa bidang yang memiliki undefined
nilai tidak akan dimasukkan ke json
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
Bidang remember
'menghilang' dari output json
Anda dapat menggunakan metode JSON.stringify () untuk mengubah objek JSON menjadi String.
var j={"name":"hello world"};
JSON.stringify(j);
Untuk mengonversi string ini kembali ke objek json, Anda bisa menggunakan metode JSON.parse ().
menggunakan JSON.stringify(param1, param2, param3);
Apa yang: -
param1 -> nilai untuk dikonversi ke JSON
param2 -> berfungsi untuk merangkai dengan cara Anda sendiri. Atau, ini berfungsi sebagai daftar putih untuk objek yang perlu dimasukkan dalam JSON akhir.
param3 -> A Tipe data angka yang menunjukkan jumlah spasi putih untuk ditambahkan. Maks diizinkan adalah 10.
convert str => obj
const onePlusStr = '[{"brand": "oneplus"}, {"model": "7T"}]';
const onePLusObj = JSON.parse (onePlusStr);
convert obj => str
const onePLusObjToStr = JSON.stringify (onePlusStr);
Referensi JSON parsing di JS:
JSON.parse (): klik
JSON.stringify (): klik
Gunakan fungsi stringify
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
Selamat coding !!!
//use JSON.stringify({})
const stringified = JSON.stringify ({}) // meneruskan objek yang ingin Anda konversi dalam format string
jika Anda memiliki string json dan tidak dibungkus dengan [] maka bungkus terlebih dahulu
var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);
ATAU
var jsonobj = eval('(' + str + ')');
console.log(jsonobj);
JSON.stringify()
adalah metode yang Anda cari.