Javascript reemplaza 'null' a "falso" problema -- javascript campo con jquery camp Relacionados El problema

Javascript replace 'null' to 'false' issue


-1
vote

problema

Español
  var x = [{     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }, {     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }];  var string = JSON.stringify(x).toString().replace(/ ull/g, "false"); var json=jQuery.parseJSON(string); console.log(json);   

Cuando estoy tratando de reemplazar NULL a FALSO, no está reemplazando. Trabajará cuando reemplaza otras palabras como "Responder", incluso ": NULL" está funcionando, solo funciona. ¿Puede alguien explicar cuál es el problema?

Original en ingles
var x = [{     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }, {     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }];  var string = JSON.stringify(x).toString().replace(/\null/g, "false"); var json=jQuery.parseJSON(string); console.log(json); 

When I am trying to replace null to false it is not replacing.It will work when you replace other words like "answer" even ":null" is working only null is not working. Can any one explain what is the problem?

     
         
         

Lista de respuestas

2
 
vote

Es probable que sea mejor evitar el uso de JSON, pero la función recursiva:

  empty(false)7  
 

it's probably better to avoid JSON use but recursive function:

function convertNullToFalse(obj){     for(var k in obj){         if(obj[k] === null){             obj[k] = false;             continue;         }         if(typeof obj[k] === "object"){             convertNullToFalse(obj[k]);         }     } }  convertNullToFalse(x);  console.log(x); 
 
 
     
     
0
 
vote

Se está escapando empty(false)8 que es el carácter de nueva línea. Necesita el null19 literal :

  true0  

jsfiddle

Además, estás usando true1 ¿Por qué no usar el null22 INVERSE en lugar de usar jQuery?

Finalmente, ¿por qué analizar esto en absoluto? ¿Por qué no solo acceder a la respuesta con un valor predeterminado:

  true3  
 

You are escaping \n which is the newline character. You need the literal n:

var x = [{     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }, {     "answer": null,     "answered": true,     // many more fields here     "answers": {         "correct": null,         "response": null     } }];  var string = JSON.stringify(x).toString().replace(/null/g, "false"); var thing = jQuery.parseJSON(string); console.log(thing); 

jsFiddle

Also, you're using JSON.stringify why not use the inverse JSON.parse() too instead of using jQuery?

Finally, why parse this at all? Why not just access answer with a default value:

var ans = x.answer || false; // Returns false for any falsey value, including null 
 
 
   
   

Relacionados problema

0  Deshacerse del disco en el artículo de la lista  ( Getting rid of disc in list item ) 
Estoy desarrollando un sitio usando jquery, y jquery ui Tabs. Por alguna razón, mis pestañas (lista desordenada) están mostrando sus balas en todos los navega...

2  Ajaxform en jQuery  ( Ajaxform in jquery ) 
Estoy usando AjaxForm. Ahora he encontrado un problema. Mi idea es cuando el usuario ingresa al nombre de usuario, si es un nombre de usuario incorrecto, debe...

1279  ¿Cómo pongo / no tomar una cookie con jQuery?  ( How do i set unset a cookie with jquery ) 
¿Cómo configuro y no prestar atención a una cookie utilizando jQuery, por ejemplo, cree una cookie llamada test y configure el valor en 1 ? ...

2  Hacer OnClick Handler ignore los clics en los enlaces  ( Make onclick handler ignore clicks on links ) 
Tengo un controlador personalizado para un elemento de bloque (configurado a través del método .click () jquery). Este elemento de bloque puede contener enlac...

11  Control deslizante jquery - Función de llamada después de la diapositiva  ( Jquery slider call function after slide ) 
Tengo una calada de jQuery que estoy usando para establecer la puntuación en una aplicación web. Yo orignally lo tenía para que el usuario haga clic en un bot...

0  JQUERY, selectores de filtros de atributos y averiguar exactamente _which_ Elemento se hizo clic  ( Jquery attribute filter selectors and finding out exactly which element was c ) 
Tengo este jQuery que funciona bien $("li[id^='shop_id']").click( function () { alert("I clicked on id ??"); }); Lo anterior funcionará si se hace...

0  ¿Cómo obtener el número de índice dentro de $ .click () de jQuery?  ( How to get index number inside click of jquery ) 
$("span.ws_label").click(function() { }) por selector "span.ws_label" Hay 5 elementos seleccionados, Cuando se hace clic en uno de ellos, ¿Cómo sabe...

210  ¿Cómo puedo excluir $ (esto) de un selector de jQuery?  ( How can i exclude this from a jquery selector ) 
Tengo algo como esto: <div class="content"> <a href="#">A</a> </div> <div class="content"> <a href="#">B</a> </div> <div class="content"> <a hr...

1  Problema de JSONRESULT  ( Jsonresult problem ) 
Tengo una ActionResult que devuelve esto: return new JsonResult() { Data = new { isDeleted = isEntityDeleted } }; En JavaScript, el valor devuelto por ...

1  $$ en jQuery, ¿para qué se usa?  ( In jquery whats this used for ) 
Si alguien solo escribe: $("#downloadTabs>div").each(function(el) { el.setStyle("display", "none"); el.removeClass('active'); }); ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos