簡體   English   中英

將不帶引號的 json 字符串解析為 json

[英]Parse the json string without quotes into json

由於鍵不在引號內,因此以下 json 字符串不會轉換為 json。

{file:"http://video.test.com/media/myvideo.mp4", image:"/category/dt/filename.png", width:"100%", height:"100%", stretching:"uniform", autostart:true, modes:[{type:"flash", src:"/swf/external/player.swf"}, {type:"html5"}]}

我試過了:

  1. JSON.parse - 它不起作用,因為鍵不在引號內。

  2. eval('('+str+')') -- 由於某種原因沒有轉換,由於安全性,也很少不情願這個解決方案。

  3. 手動插入雙引號分隔冒號 (:) 但我的值之一,即 url,也有一個冒號,如解決方案中所述: 正則表達式在 javascript 中的值和鍵周圍添加雙引號

為什么這個字符串轉換成json很難,怎么轉換?

 var s = '{file:"http://video.test.com/media/myvideo.mp4", image:"/category/dt/filename.png", width:"100%", height:"100%", stretching:"uniform", autostart:true, modes:[{type:"flash", src:"/swf/external/player.swf"}, {type:"html5"}]}'; console.log(eval('(' + s + ')'));

主要問題實際上是您從哪里獲得字符串,但無論如何,這是一個解決方案。

var obj = eval('(' + str + ')');
var json = JSON.stringify(obj);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM