Quiero convertir una cadena en un objeto.
Mi cadena es algo así como 7541550448872:1:1:monthly,42397357179112:1 .
Quiero que el resultado sea algo como esto:
'items': [{ 'id': 7541550448872, 'quantity': 1, "properties": { "shipping_interval_unit_type": "monthly", "shipping_interval_frequency": "1" }, }, { 'id': 42397357179112, 'quantity': 1, } ] Me dijeron que usara funciones como split() y Regex , pero no pude hacer que funcionara. ¿Alguna idea de cómo hacer esto?
Para mí, probablemente el método preferido es usar Array.split() . Divide la matriz por : y luego construye el JSON indexando la matriz. Vea el fragmento de código a continuación para ver esto en acción. Además, no estoy seguro de si quería un , entre el mes y la id o si solo fue un error tipográfico. Mi código a continuación usa el , .
const str = '7541550448872:1:1:monthly,42397357179112:1'; const arr = str.split(':'); const json = { 'items': [{ 'id': Number(arr[0]), 'quantity': Number(arr[1]), "properties": { "shipping_interval_unit_type": arr[3].split(',')[0], "shipping_interval_frequency": arr[2] }, }, { 'id': Number(arr[3].split(',')[1]), 'quantity': Number(arr[4]), } ] }; console.log(json);¡Esperaba que esto ayudara!