1

我知道 php 上有一个 json_encode。目前我们正在使用它。但这是唯一会减慢应用程序速度的原因,因为它需要访问服务器。

情况就是这样,我们有 2 个应用程序。我们称它们为 app1 和 app2。

App1 是一个大应用程序。其中一个输入是 php 数组。

另一方面,现在 app2 是为帮助 app1 而创建的一个小应用程序。App2 有一个表单。表单有很多很多字段。然后所有这些字段将被转换为正确的 php 数组格式,准备用作 app1 中的输入。

现在我们的问题,每次我们使用app2时,我们应该更加小心或始终保留字段。因为如果有一个字段的信息错误,我们需要再做一次,使用 app2 来获取正确的数组。

所以,我们认为我们需要在 app2 上添加一个功能。我们希望它能够编辑它产生的 php 数组。我们已经做到了。当给定 php 数组时,我们将其发送到服务器,使用 json_encode,然后将所有内容放置到位。现在我们已经填充了所有字段,然后我们可以使用不正确的数据编辑字段。

目前,我们对此没有意见,但我认为不去服务器并使用 js 转换 php 数组会更有效......我搜索了 google 和 stackoverflow,我什么也没找到。我确实尝试过使用.replace(),但我还没有想出一个好的结果..

我希望有人可以在这里帮助我..

编辑:

顺便说一句,这是一种 PHP 数组格式...

作为一个简单的例子,我们必须输入字段。填写完字段后,它将在 textarea 中输出 PHP 数组格式。

4

2 回答 2

1

从您的评论中,您似乎在说您在 textarea 中有一个字符串,如下所示:

<textarea>array('a'=>'goat', 'b' => 'dog')</textarea>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

我真的不明白为什么您的应用程序首先会将任何“代码”类型的结果放在 textarea 中,更不用说作为 PHP 格式数组文字的字符串了,而是试图回答您有关如何使用 JavaScript 的问题要将这样的字符串转换为 JS 对象,可以这样做:

// assuming your textarea has the id "myTextArea":
var str = document.getElementById("myTextArea").value,
    json = "{" + str.slice(6, -1).replace(/=>/g,":").replace(/'/g,"\"") + "}";
console.log(json);
var obj = JSON.parse(json);
console.log(obj);

演示:http: //jsfiddle.net/WknYX/

我将这两个console.log()语句放入其中,以便您可以看到字符串被处理为 JSON 格式后的样子,然后在解析 JSON 后查看生成的对象。

请注意,如果字符串采用任何其他格式,并且如果数组中的项目包含正在被替换的字符,则显然此代码将因错误而中断,这不会产生错误但会产生不正确的结果。

于 2012-12-02T06:57:32.690 回答
0

你可以在下面转换一个json格式

$array = array("hola","hello");
exit(json_encode($array));



output json // {"hola","hello"}

在js中

sucess(x){

}
于 2012-12-02T07:00:11.650 回答