2014-12-19 76 views
0

我用document.getElementById("textarea-id").valuetextarea中获取值。我相信这抓住了一个类型为string的对象。分割字符串],[和创建json对象

var b = document.getElementById("textarea-id").value

我会JSON.stringify(b),因为我有b引号所以这将难逃引号。

var c = JSON.stringy\ify(b)

我要测试是否c实际上是一个JSON对象。如果是这样,请将每个JSON对象放在一个数组中。 (可能有多个JSON对象)

对我来说,最简单的方法是将字符串除以分隔JSON对象的],[值。我不确定如何在保留括号的同时将每个对象分开],[

例如JSON对象:

[{ 
    "a":1, 
    "b":2 
}], 
[{ 
    "c":3, 
    "d":4 
}] 
+0

签出[JSON]的其他功能(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) – Clev3r 2014-12-19 02:54:45

+1

解决方法是否更有意义将无效的JSON放入textarea中的源代码开始?这听起来像一个'X-Y'问题 – charlietfl 2014-12-19 03:27:07

+0

我不明白你想要做什么。 1)你在文本区域获得了一些值。 2)您在输入的值上执行JSON.stringify(value)。直到这一点,如果你在字符串化的文本区域输入123,你将得到“123”。我为相同的http://jsfiddle.net/Dnyanesh/8defqdbp/添加了JSFiddle。有关stringify的更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify – Dnyanesh 2014-12-19 03:31:24

回答

1

考虑...

c = c.replace("],[", "]###["); 
result = c.split("###"); 

...通过使用替代,我们正在改变,在] [之间独特的东西,你可以再拆。