【问题标题】:JSON parsing and stringifyJSON解析和字符串化
【发布时间】:2016-08-19 18:02:56
【问题描述】:

我目前正在处理一个必须解析大量数据的 Javascript 项目。该项目要求我解析一些 JSON 数据并将特定数据带入另一个数组。现在,我正在使用 JSON.stringify 方法,并且可以控制台记录我需要的所有数据。数据看起来像这样:

{
"type": "FeatureCollection",
"features": [
    {
        "type": "Feature",
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        -85.3865810000125,
                        33.90171899971196
                    ],
                    [
                        -85.38659500025622,
                        33.9017919996593
                    ],

是的,这不是全部数据——它大约有 1200 页长!我只粘贴在它的顶部。我真正需要的是如何到达它的坐标方面并进入一个数组。所以我目前正在做的是这样的:

var work = JSON.stringify(response, null, 4)
console.log(work);

这给了我上述回应。但是,我对 JSON.stringify 不太熟悉,所以如果我这样做:

console.log(work.type);

试图查看类型的值是什么,我得到未定义的响应。现在,如果我尝试这样做:

var work = JSON.parse(response)
console.log(work);

我收到以下响应:VM296:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1

因此,我无法得到解析的数据,而我想要得到的数据将是坐标数据。使用 stringify 的任何帮助都会对我有很大帮助。我已经阅读了很多关于它如何将数据转换为字符串的内容,但并没有真正了解如何解析它。我必须使用解析吗?感谢您的帮助!

【问题讨论】:

  • 这不是一个有效的 json
  • 您没有完成 JSON,正如@NiharSarkar 所说,它也是无效的。
  • 只需执行response.type 即可获得type 属性。无需字符串化,它已经是一个 javascript 对象了。
  • JSON 没有完成,因为它有 1200 页长!所以我不想把它贴在这里——很抱歉造成混乱!
  • console.log(response) 得到什么?它是一个对象吗?它是有效的json吗?是小狗吗?

标签: javascript json parsing stringify


【解决方案1】:

您不必为此使用stringifyparse。您收到的响应对象已经是一个 javascript 对象,因此您可以正常引用它的属性

response.type; // => "FeatureCollection"

如果您尝试和stringify 响应,它将失去其type 属性,例如:

typeof "some string".someProperty; // => undefined

【讨论】:

  • 是的!我尝试了 response.type 并得到了你所说的!感谢您的帮助和解释!是时候深入挖掘并找到我需要的东西了!
猜你喜欢
  • 2016-08-15
  • 2012-10-04
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多