El método de convertir cadena (cadena) a json en JavaScript

JavaScript: convertir cadena a json

el primer método:

Usa la función js eval();

testJson=eval(testJson); es el método de conversión incorrecto.

El método de conversión correcto necesita agregar (): testJson = eval("(" + testJson + ")");

eval() es muy rápido, pero puede compilar y ejecutar cualquier programa javaScript, por lo que habrá problemas de seguridad. Usando eval(). La fuente debe ser confiable. Se necesita usar un analizador json más seguro. Si el servidor no está estrictamente codificado en json o si la entrada no está estrictamente validada, es posible proporcionar json no válido o contener secuencias de comandos peligrosas, ejecutar secuencias de comandos en eval() y liberar código malicioso.

codigo js:

el código se muestra a continuación:

function ConvertToJsonForJs() {
  //var testJson = "{ name: '小强', age: 16 }";(支持)
  //var testJson = "{ 'name': '小强', 'age': 16 }";(支持)
  var testJson = '{ "name": "小强", "age": 16 }';
  //testJson=eval(testJson);//错误的转换方式
  testJson = eval("(" + testJson + ")");
  alert(testJson.name);
  }

La segunda forma de usar el método jquery.parseJSON() tiene requisitos relativamente altos para el formato de json, que debe ajustarse al formato de json

jquery.parseJSON()
  js:代码
  代码如下:
  function ConvertToJsonForJq() {
  var testJson = '{ "name": "小强", "age": 16 }';
  //不知道
  //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹)
  //"{ 'name': "小强", 'age': 16 }"(name使用单引号)
  testJson = $.parseJSON(testJson);
  alert(testJson.name);
  }

Muchas veces necesitamos ensamblar cadenas en objetos json, primero combinar cadenas y luego convertirlas en objetos json

ejemplo:

var convertStringToJSON = function(){
    var str="{'ID':12,'Name':'Tom','Age':21}";
    var stu = eval('('+str+')');
    alert(stu.Name);
}

Después de ejecutar el código anterior, aparecerá "Tom", lo que indica que se ha convertido con éxito en un objeto json. 

Crear solicitud XMLHTTP:

<script language="javascript" type="text/javascript">
var request;
function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }
  if (!request)
    alert("Error initializing XMLHttpRequest!");
}
function getCustomerInfo() {
  createRequest();
  // Do something with the request variable
}
</script>

Supongo que te gusta

Origin blog.csdn.net/cdming/article/details/130235193
Recomendado
Clasificación