2017-09-27 217 views
1

我有以下来自API的JSON响应。JSON响应解析错误 - Javascript

{ 
    "status": true, 
    "cakes": { 
     "7689": { 
      "id": 7689, 
      "flavor": "chocolate", 
      "cookDetails": { 
       "id": 101, 
       "firstName": "Name1", 
       "lastName": "LastName1" 
      } 
     }, 
     "7690": { 
      "id": 7690, 
      "flavor": "vanilla", 
      "cookDetails": { 
       "id": 102, 
       "firstName": "Name2", 
       "lastName": "LastName2" 
      } 
     } 
    } 
} 

语言我使用解析此JSON:使用Javascript

框架:ReactNative

我的问题是:

1是JSON格式是否正确?

2.如果是的话,那我怎么分析它(注:我不知道ID的蛋糕的价值,直到我解析它)?

PS:新框架。十分感谢。

+1

您的JSON是不正确的,检查这里https://jsonlint.com/,你有3个无用的逗号。 2在LastName末尾,最后 – AshBringer

+0

JSON不正确。冒号是不允许的{ –

+0

JOSN不正确 –

回答

-1

这里是有效的JSON(只是额外的逗号被拆除):

{ 
    "status": true, 
    "cakes": { 
     "7689": { 
      "id": 7689, 
      "flavor": "chocolate", 
      "cookDetails": { 
       "id": 101, 
       "firstName": "Name1", 
       "lastName": "LastName1" 
      } 
     }, 
     "7690": { 
      "id": 7690, 
      "flavor": "vanilla", 
      "cookDetails": { 
       "id": 102, 
       "firstName": "Name2", 
       "lastName": "LastName2" 
      } 
     } 
    } 
} 

您可以用普通电话JSON.parse解析它

+0

downvote的原因是什么? – slesh

+0

这不是我猜的完整答案。在回答问题之前请注意完整答案。如果您有意见,请随时留言。 – Vishnuvardhan

+0

@slesh我已经更新了JSON响应。你能回答第二个问题吗(如何解析它)? – prasang7

1

尝试使用此,

{ 
    "status": true, 
    "cakes": [{ 
     "id": 7689, 
     "flavor": "chocolate", 
     "cookDetails": { 
      "id": 101, 
      "firstName": "Name1", 
      "lastName": "LastName1" 
     } 
    }, { 
     "id": 7690, 
     "flavor": "vanilla", 
     "cookDetails": { 
      "id": 102, 
      "firstName": "Name2", 
      "lastName": "LastName2" 
     } 
    }] 
} 

为ReactNative检查此:https://facebook.github.io/react-native/docs/network.html http://www.9lessons.info/2017/04/react-native-json-parsing-and-helper.html


请注意以下代码HTML JavaScript供您理解。


var obj = JSON.parse('{"status": true,"cakes": [{"id": 7689,"flavor": "chocolate","cookDetails": {"id": 101,"firstName": "Name1","lastName": "LastName1"}},{"id": 7690,"flavor": "vanilla","cookDetails": {"id": 102,"firstName": "Name2","lastName": "LastName2"}}]}'); 

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<h2>Create Object from JSON String</h2> 
 

 
<p id="demo"></p> 
 

 
<script> 
 

 
var obj = JSON.parse('{"status": true,"cakes": [{"id": 7689,"flavor": "chocolate","cookDetails": {"id": 101,"firstName": "Name1","lastName": "LastName1"}},{"id": 7690,"flavor": "vanilla","cookDetails": {"id": 102,"firstName": "Name2","lastName": "LastName2"}}]}'); 
 
document.getElementById("demo").innerHTML = obj.cakes[0].id +", "+ obj.cakes[0].flavor+", "+obj.cakes[0].cookDetails.id+", "+obj.cakes[0].cookDetails.firstName+", "+obj.cakes[0].cookDetails.lastName; 
 

 
</script> 
 

 
</body> 
 
</html>