Webmaster ve Yazılım Geliştiriciler
Nodejs String Array “ Tırnak İşareti Sorunu
Nodejs String Array “ Tırnak İşareti Sorunu
-
Merhaba sql de tuttuğum verimi nodejs ile JSON.stringfy yaparak söyle çıktı alıyorum:
[ { "publishDate": 1679383860000, "sender": " { \"id\" : 7246780, \"source\" : \"MarketWatch\" }", "tag": "[\"TOP-NEWS\",\"MARKETWATCH\",\"GENERAL\"]", "relatedStock": "[]", "attachments": "[\"https://images.mktw.net/im-276171/social\"]", } ]
Ama mesela array olmasına rağmen string görüyor "tag": " [] " bu şekilde tırnak işareti ile başlıyor. Bunu nasıl kaldırabiliriz?
PLaXToR tarafından 29/Mar/23 21:32 tarihinde düzenlenmiştir -
dostum JSON.parse yaparsan o sorun çözülür.
bu objeyi tekrardna JSON.stringfy yap sonra tekrar JSON.parse yap sorunun çözülecektir.
-
yok olmuyor bak şu şekilde yaptım.
try { var params = `SELECT * FROM ${dynamoTableName} `; params += `WHERE tag LIKE '%${news_Cat_u}%' `; params += `AND news_status = '1' `; params += `ORDER BY news_order ASC `; params += `LIMIT ${news_COUNT} `; await ddb.query(params, function (err, result) { if (err) throw err; let objs = JSON.parse(JSON.stringify(result)); //console.log(objs); res.end(JSON.stringify(objs)); }); } catch (error) { console.error(error); }
-
PLaXToR bunu yazdı
yok olmuyor bak şu şekilde yaptım.
try { var params = `SELECT * FROM ${dynamoTableName} `; params += `WHERE tag LIKE '%${news_Cat_u}%' `; params += `AND news_status = '1' `; params += `ORDER BY news_order ASC `; params += `LIMIT ${news_COUNT} `; await ddb.query(params, function (err, result) { if (err) throw err; let objs = JSON.parse(JSON.stringify(result)); //console.log(objs); res.end(JSON.stringify(objs)); }); } catch (error) { console.error(error); }
result[0].tag'ı parse edeceksin hocam. Stringified olarak geliyor çünkü.
-
Anladım. Ama komple dönen değer içerisinden result[0].tag i parse edip tekrar nasıl aynı şekilde tümünü döndüreceğim çünkü 3-4 tane daha böyle değer var? Tek tek mi? Örnek gösterirmisin?
-
Veritabanı sütun türünüz string mi?
-
PLaXToR bunu yazdı
Anladım. Ama komple dönen değer içerisinden result[0].tag i parse edip tekrar nasıl aynı şekilde tümünü döndüreceğim çünkü 3-4 tane daha böyle değer var? Tek tek mi? Örnek gösterirmisin?
Map kullanabilirsin hocam
result = result.map(row => {
row.tag = JSON.parse(row.tag)
return row
})
-
biri bunu yazdı
Veritabanı sütun türünüz string mi?
evet JSON ı deniyorum bigtext e çeviriyor zaten.
-
end bunu yazdıPLaXToR bunu yazdı
Anladım. Ama komple dönen değer içerisinden result[0].tag i parse edip tekrar nasıl aynı şekilde tümünü döndüreceğim çünkü 3-4 tane daha böyle değer var? Tek tek mi? Örnek gösterirmisin?
Map kullanabilirsin hocam
result = result.map(row => {
row.tag = JSON.parse(row.tag)
return row
})
Hocam oldu eline sağlık hemde tam istediğim gibi döndürdü :) Allah razı olsun.
-
PLaXToR bunu yazdıbiri bunu yazdı
Veritabanı sütun türünüz string mi?
evet JSON ı deniyorum bigtext e çeviriyor zaten.
mariadb kullaniyorsun o zaman, mysql degil.