JavaScript’te String’i JSON’a Dönüştürme

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.

Scroll to Top