2017-06-12 42 views
-1

如何转换json对象?
我也试过以下。你如何让JS认为一个字符串是JSON?

$scope.getEval = function (str) { 
       return eval(str); 
}; 
     try { 
      s = $scope.getEval("\nexports = { emptyFunction: function() { \n  exit(); }, getUserName: function() {  if (!variable.global_name) {   exit(changeFlowAndStep('get_user_name', 0, {global_first_time_done: false}, true));  } else {   exit({variable:{global_first_time_done: true}});  } }}") 

      for (var i in s) { 
       s[i] = s[i].toString(); 
      } 
      $scope.s = s; 
      console.log($scope.s) 


     } catch (e) { 
      console.log(e); 
     } 
+0

是'出口= {emptyFunction:函数()...'你想从json转换为对象的字符串? – Adder

回答

1

如果你有一个JavaScript对象,很容易产生一个JSON字符串JSON.stringify(),如果你有一个JSON字符串,很容易产生一个JavaScript对象与JSON.parse()

// going from JSON to JS object... 
 

 
var json = '{"result":true,"count":1}', 
 
    obj = JSON.parse(json); 
 

 
console.log(obj); 
 
console.log(obj.count); 
 

 

 
// from JS object to JSON string... 
 

 
var str = JSON.stringify(obj); 
 
console.log(str);

来自:

1

您使用的eval作品,因为你可以看到,当你调用console.dir($scope.s);

它可以使用json = JSON.stringify(obj);obj = JSON.parse(json);。但是,它显示JSON.stringify忽略具有函数作为值的对象字段。那是你的字符串不是一个有用的json字符串。

相关问题