JavaScript’te bir string’i JSON’a dönüştürmek için JSON.parse()
yöntemini kullanabilirsiniz. Bu yöntem geçerli bir JSON dizesi alır ve onu JavaScript nesnesine döndürür. Örneğin:
javascript
const jsonString = '{ "name": "John", "age": 30, "city": "New York" }';
const jsonObj = JSON.parse(jsonString);
console.log(jsonObj.name); // John
Daha fazla bilgi için JSON.parse()
yönteminin MDN Web Docs sayfasını ziyaret edebilirsiniz.
Örnek: String’i Geçerli JSON’a Dönüştürme
Aşağıdaki örnekte, JSON.parse()
yöntemi kullanılarak geçerli bir JSON dizesi JavaScript nesnesine dönüştürülmüştür:
“`javascript
// JSON dizesi
dconst jsonString = ‘{ “name”: “John”, “age”: 30, “city”: “New York” }’;
// JSON dizesini nesne olarak ayrıştırma
dconst jsonObj = JSON.parse(jsonString);
// JSON nesnesinden değerleri görüntüleme
console.log(jsonObj.name); // John
console.log(jsonObj.age); // 30
“`
JSON Dizesinin Yapısı
JSON dizesinin aşağıdaki JSON dizesi yapısına uygun olması gerekir:
– Anahtarlar çift tırnak içinde olmalıdır.
– Anahtar-değer çiftleri :
ile ayrılmalıdır.
– Değerler şunlardan biri olmalıdır: null
, true
, false
, bir sayı, bir string veya başka bir JSON nesnesi veya dizisi.
– JSON nesneleri {}
içinde tanımlanır.
– JSON dizeleri []
içinde tanımlanır.
Örnek bir JSON dizesi:
json
{
"name": "John",
"age": 30,
"city": "New York",
"isAlive": true,
"address": {
"street": "Main St",
"number": 123
},
"phoneNumbers": [
{
"type": "home",
"number": "555-555-5555"
},
{
"type": "work",
"number": "555-555-5556"
}
],
"children": null
}
Örnek: Hatalı JSON Dizesi
Aşağıdaki örnekte, anahtarın tırnağa alınmaması nedeniyle hatalı bir JSON dizesi kullanılmıştır. Bu dize JSON.parse()
yöntemi kullanılarak ayrıştırılmaya çalışıldığında hata oluşur:
“`javascript
// Hatalı JSON dizesi
dconst jsonString = ‘{ name: “John”, age: 30, city: “New York” }’;
try {
// JSON dizesini nesne olarak ayrıştırma
d const jsonObj = JSON.parse(jsonString);
console.log(jsonObj.name);
} catch (error) {
console.error(‘JSON ayrıştırma hatası:’, error.message);
}
“`
Çıktı
plaintext
JSON ayrıştırma hatası: Unexpected token n in JSON at position 10
Açıklama
Yukarıdaki örnekte JSON.parse()
yöntemi hatalı JSON dizesini ayrıştırmaya çalışırken bir SyntaxError
hatası fırlatmıştır. Hata mesajında hatanın konumu ve nedeni belirtilmiştir.
JSON.parse()
Yönteminin İkinci Parametresi
JSON.parse()
yönteminin ikinci bir parametresi vardır ve bu bir ayrıştırıcı işlevdir. Bu işlev, her bir anahtar-değer çifti için çağrılır ve değerin nasıl ayrıştırılacağını belirlemenizi sağlar.
Aşağıdaki örnekte age
anahtarının değeri ayrıştırıcı işlev aracılığıyla bir Number
türüne dönüştürülmüştür:
“`javascript
const jsonString = ‘{ “name”: “John”, “age”: “30”, “city”: “New York” }’;
const jsonObj = JSON.parse(jsonString, (key, value) => {
if (key === ‘age’) return Number(value);
return value;
});
console.log(jsonObj.name); // John
console.log(typeof jsonObj.age); // number
“`
Sonuç
Bu makalede, JavaScript’te bir string’i JSON’a dönüştürmek için JSON.parse()
yönteminin nasıl kullanılacağını öğrendiniz. Ayrıca geçerli bir JSON dizesinin yapısını, hatalı bir JSON dizesi ile karşılaşınca oluşan hataları ve JSON.parse()
yönteminin ikinci parametresinin kullanımını da incelediniz.