【问题标题】:Large JSON String not parsing using JSON.parse or angular.fromJson未使用 JSON.parse 或 angular.fromJson 解析的大型 JSON 字符串
【发布时间】:2017-07-31 22:21:31
【问题描述】:

我正在尝试用独立的 JSON 响应字符串替换 angularjs POST 查询。

当有角度的 GET / POST 查询返回一个自动转换为 JSON 的响应时,代码的工作就像魅力一样。

现在,我尝试将 json 响应存储为控制器中的 javascript 字符串变量,然后尝试使用 JSON.stringify() 解析它,随后使用 JSON.parse()

没有错误但是使用.操作符无法访问生成的json对象的成员变量

var staticData = '{"someKey":"someValue", "masterJobs":[]}'; //very large json string.
var resultString = JSON.stringify(staticData);
$scope.staticTestData = JSON.parse(resultString);
console.log($scope.staticTestData.masterJobs); // this displays 'undefined'

带有large JSON is available here的控制器功能。

【问题讨论】:

    标签: javascript angularjs json parsing


    【解决方案1】:

    你已经有一个字符串,所以不需要使用JSON.stringify

    只需使用以下代码:

    var staticData = '{"someKey":"someValue", "masterJobs":[]}'; //very large json string.
    $scope.staticTestData = JSON.parse(staticData);
    console.log($scope.staticTestData.masterJobs);
    

    【讨论】:

    • 我已经试过了。这是我在解析字符串而不执行 JSON.stringify()
      SyntaxError: Unexpected token in JSON at JSON.parse () at searchFunction (SummaryReport.html:249) 的位置 1323 时得到的错误在新的 (SummaryReport.html:262) 在 Object.invoke (angular.min.js:41) 在 P.instance (angular.min.js:89) 在 n (angular.min.js:65) 在g (angular.min.js:58) at angular.min.js:58 at angular.min.js:21 at m.$eval (angular.min.js:145)
    • 看看错误的确切位置,你会发现这个部分"tsdescription":"<br>DISPLAYED<br>\n<br>\nPassed"。它包含新行 \n 这将导致您的字符串实际上在其中包含新行(而不是在值内)。您需要转义它们,详情请参阅stackoverflow.com/questions/11591784/…
    • 这有帮助!但它现在在这一点上失败了: "xmlLogFilePath": "\\\\cable.comcast.com\\corp-dfs\\CHQ-Shared\\BSD-TCoE\\Logs\\WE​​BTOP\\TACGWC-WBTP02\ \Parent_WEBTOP_ONECLICK_MASTER_8\\testng_simon_SimonMACD_OneClick" 你看到转义的 url 有什么问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2013-02-16
    • 2017-03-02
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    相关资源
    最近更新 更多