[英]How to extract values from a custom json string in javascript?
如何使用Java腳本從下面提到的JSON中提取值?
var json = {
"headers": {
"Access-Control-Allow-Headers": "origin",
"Access-Control-Allow-Methods": "GET",
"Access-Control-Allow-Origin": "*",
"Access-Control-Max-Age": "3628800",
"Connection": "keep-alive",
"Content-Length": "981",
"Content-Type": "application/json",
"Date": "Thu, 12 Jan 2017 15:52:27 GMT",
"Server": "Apigee LB"
},
"content": "{\n \"apiProducts\" : [ ],\n \"appFamily\" : \"default\",\n \"appId\" : \"a937ece1-a0be-4475-bfea-e11fdeb279c6\",\n \"attributes\" : [ {\n \"name\" : \"DisplayName\",\n \"value\" : \"CustomerApp\"\n }, {\n \"name\" : \"Notes\",\n \"value\" : \"\"\n }, {\n \"name\" : \"fusion.expiry.date\",\n \"value\" : \"2/10/2017\"\n } ],\n \"callbackUrl\" : \"\",\n \"createdAt\" : 1484029734897,\n \"createdBy\" : \"suvojitc@rssoftware.co.in\",\n \"credentials\" : [ {\n \"apiProducts\" : [ {\n \"apiproduct\" : \"Customer and Product\",\n \"status\" : \"revoked\"\n } ],\n \"attributes\" : [ ],\n \"consumerKey\" : \"wNy0oKRhisvtMpjCR3dp67vZAC5lV3NV\",\n \"consumerSecret\" : \"mTiGGgHoAAGrqWmh\",\n \"expiresAt\" : 1486621737213,\n \"issuedAt\" : 1484029737213,\n \"scopes\" : [ ],\n \"status\" : \"approved\"\n } ],\n \"developerId\" : \"793e585c-f093-41d6-88e9-e235bfd087ed\",\n \"lastModifiedAt\" : 1484049963233,\n \"lastModifiedBy\" : \"suvojitc@rssoftware.co.in\",\n \"name\" : \"CustomerApp\",\n \"scopes\" : [ ],\n \"status\" : \"approved\"\n}",
"status": {
"message": "OK",
"code": "200"
}
}
請幫忙。
Json專為Javascript而設計。 您需要做的就是json.headers.Connection
,它應該檢索keep-alive
。
沖洗並重復。 否則,獲取一個解析庫。
變量名稱中的非常規符號除外。 請注意,點表示法將不接受Access-Control-Allow-Headers
,而是將引發錯誤。 要解決此問題,請使用方框符號。
json.headers["Access-Control-Allow-Headers"]
將檢索origin
框符號使用字符串,因此您必須在Access-Control-Allow-Headers
周圍加上引號。
json.headers[Access-Control-Allow-Headers]
也會引發語法錯誤。
編輯:正如Mike C正確指出的那樣,“。” 表示法將不接受“-”符號。
您可以這樣嘗試。 首先,您需要將其轉換為json字符串,然后將其轉換為json對象,以便您可以使用必需的鍵來獲取值。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> </title> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> </head> <body> <script> var json={ "headers": { "Access-Control-Allow-Headers": "origin", "Access-Control-Allow-Methods": "GET", "Access-Control-Allow-Origin": "*", "Access-Control-Max-Age": "3628800", "Connection": "keep-alive", "Content-Length": "981", "Content-Type": "application/json", "Date": "Thu, 12 Jan 2017 15:52:27 GMT", "Server": "Apigee LB" }, "content": "{\\n \\"apiProducts\\" : [ ],\\n \\"appFamily\\" : \\"default\\",\\n \\"appId\\" : \\"a937ece1-a0be-4475-bfea-e11fdeb279c6\\",\\n \\"attributes\\" : [ {\\n \\"name\\" : \\"DisplayName\\",\\n \\"value\\" : \\"CustomerApp\\"\\n }, {\\n \\"name\\" : \\"Notes\\",\\n \\"value\\" : \\"\\"\\n }, {\\n \\"name\\" : \\"fusion.expiry.date\\",\\n \\"value\\" : \\"2/10/2017\\"\\n } ],\\n \\"callbackUrl\\" : \\"\\",\\n \\"createdAt\\" : 1484029734897,\\n \\"createdBy\\" : \\"suvojitc@rssoftware.co.in\\",\\n \\"credentials\\" : [ {\\n \\"apiProducts\\" : [ {\\n \\"apiproduct\\" : \\"Customer and Product\\",\\n \\"status\\" : \\"revoked\\"\\n } ],\\n \\"attributes\\" : [ ],\\n \\"consumerKey\\" : \\"wNy0oKRhisvtMpjCR3dp67vZAC5lV3NV\\",\\n \\"consumerSecret\\" : \\"mTiGGgHoAAGrqWmh\\",\\n \\"expiresAt\\" : 1486621737213,\\n \\"issuedAt\\" : 1484029737213,\\n \\"scopes\\" : [ ],\\n \\"status\\" : \\"approved\\"\\n } ],\\n \\"developerId\\" : \\"793e585c-f093-41d6-88e9-e235bfd087ed\\",\\n \\"lastModifiedAt\\" : 1484049963233,\\n \\"lastModifiedBy\\" : \\"suvojitc@rssoftware.co.in\\",\\n \\"name\\" : \\"CustomerApp\\",\\n \\"scopes\\" : [ ],\\n \\"status\\" : \\"approved\\"\\n}", "status": { "message": "OK", "code": "200" } }; var str = JSON.stringify(json); var obj = JSON.parse(str); console.log(obj.headers["Access-Control-Allow-Headers"]); console.log(obj.headers["Access-Control-Allow-Methods"]); </script> </body> </html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.