ExtJS中的Json数据读取问题?

ExtJS中的Json数据读取问题?,json,extjs,Json,Extjs,服务器返回数据: { "items": [{ "id": "671", "post_title": "Seche Vite Dry Fast Top Coat", "post_content": "<span style=\"color\: \#ff0000\;\"><strong>Roy Recommends:<\/strong>\u00c2\u00a0 Edith, our in-house nail

服务器返回数据:

{
    "items": [{
        "id": "671",
        "post_title": "Seche Vite Dry Fast Top Coat",
        "post_content": "<span style=\"color\: \#ff0000\;\"><strong>Roy Recommends:<\/strong>\u00c2\u00a0 Edith, our in-house nail expert, swears by this product.\u00c2\u00a0 No manicure or pedicure is complete without adding this top coat as the finishing touch.<\/span>\r\n\r\nSeche Vite\u00e2\u201e\u00a2 dry fast top coat is widely acknowledged as the world\'s finest top coat.\u00c2\u00a0 Specially formulated to penetrate through nail lacquer to the base coat forming a single solid coating over the nail plate for a much more durable finish. Guaranteed not to yellow while leaving nails silky, stronger and resistant to chipping and peeling.\r\n\r\n&nbsp;",
        "post_excerpt": "",
        "post_status": "publish",
        "post_parent": "0",
        "parent_sort_id": "671",
        "prod_meta_data_key": "_wpsc_product_metadata",
        "category": "Roy Recommends,Nail Care",
        "_wpsc_price": "10",
        "_wpsc_special_price": "0",
        "_wpsc_sku": "",
        "_wpsc_stock": "4",
        "unpublish_when_none_left": "1",
        "weight": 8.5,
        "weight_unit": "ounce",
        "height": "0",
        "height_unit": "in",
        "width": "0       ",
        "width_unit": "in",
        "length": "0",
        "length_unit": "in",
        "local": "0",
        "international": "0",
        "no_shipping": "0"
    }],
    "totalCount": "1"
}
我发现了一个在线工具:

其中,当我粘贴数据时,eval无法计算span和style之间的间距,因为eval只能执行expression not语句。以下是一项声明:

<span style=\"color\: \#ff0000\;\">

当我做
preg\u replace(“/[]+/”,“”,$data)
。现在的问题是,我不希望在允许用户编辑文本时出现&我希望它仅显示为空格。

使用我可以看出您的JSON无效。如果反斜杠(
\
)不是合法JSON转义序列的一部分(
\”、\\、\/、\b\f\n\r\t\u
),则必须转义它们

在这种情况下,
post\u content
的值是非法的,因为它具有类似于
\:
\\\\\
的序列。将其更改为以下应该可以解决问题(当然,您必须修复服务器端代码才能正确转义JSON响应)

{
“项目”:[
{
“id”:“671”,
“post_title”:“Seche Vite干爽快干面漆”,
“发布内容”:罗伊推荐:我们的内部美甲专家伊迪丝(Edith)对该产品发誓。如果不添加此面漆作为最后一道工序,任何修甲或修脚都是不完整的。\u000d\u000a\u000d\u000a\u000d\u000a快速干燥面漆被公认为世界上最好的面漆。专门配制用于穿透nail在底漆上涂上清漆,在指甲板上形成单一的固体涂层,以获得更持久的饰面。保证不会变黄,同时使指甲丝滑、更牢固、抗剥落。\u000d\u000a\u000d\u000a“,
“post_摘录”:“,
“发布状态”:“发布”,
“post_父项”:“0”,
“父项排序id”:“671”,
“产品元数据密钥”:“\u wpsc\u产品元数据”,
“类别”:“罗伊推荐,指甲护理”,
“_wpsc_price”:“10”,
“_wpsc_特价”:“0”,
“_wpsc_sku”:”,
“_wpsc_stock”:“4”,
“未发布时取消发布”:“1”,
“重量”:8.5,
“重量单位”:“盎司”,
“高度”:“0”,
“高度单位”:“英寸”,
“宽度”:“0”,
“宽度单位”:“英寸”,
“长度”:“0”,
“长度单位”:“英寸”,
“本地”:“0”,
“国际”:“0”,
“无装运”:“0”
}
],
“totalCount”:“1”
}
使用我发现您的JSON无效。如果反斜杠(
\
)不是合法的JSON转义序列的一部分(
\”,\\,\/,\b\f\n\r\t\u
),则必须对其进行转义

在这种情况下,
post\u content
的值是非法的,因为它具有类似于
\:
\
的序列。将其更改为以下应该可以解决问题(当然,您必须修复服务器端代码才能正确转义JSON响应)

{
“项目”:[
{
“id”:“671”,
“post_title”:“Seche Vite干爽快干面漆”,
“发布内容”:"罗伊推荐:我们的内部美甲专家伊迪丝(Edith)对该产品发誓。如果不添加此面漆作为最后一道工序,任何修甲或修脚都是不完整的。\u000d\u000a\u000d\u000a\u000d\u000a快速干燥面漆被公认为世界上最好的面漆。专门配制用于穿透nail在底漆上涂上清漆,在指甲板上形成单一的固体涂层,以获得更持久的饰面。保证不会变黄,同时使指甲丝滑、更牢固、抗剥落。\u000d\u000a\u000d\u000a“,
“post_摘录”:“,
“发布状态”:“发布”,
“post_父项”:“0”,
“父项排序id”:“671”,
“产品元数据密钥”:“\u wpsc\u产品元数据”,
“类别”:“罗伊推荐,指甲护理”,
“_wpsc_price”:“10”,
“_wpsc_特价”:“0”,
“_wpsc_sku”:”,
“_wpsc_stock”:“4”,
“未发布时取消发布”:“1”,
“重量”:8.5,
“重量单位”:“盎司”,
“高度”:“0”,
“高度单位”:“英寸”,
“宽度”:“0”,
“宽度单位”:“英寸”,
“长度”:“0”,
“长度单位”:“英寸”,
“本地”:“0”,
“国际”:“0”,
“无装运”:“0”
}
],
“totalCount”:“1”
}

我在Chrome中尝试过。Javascript中的eval()无法解析JSON字符串中的以下序列。其他的都可以

\" \\ \n \r

我在Chrome上试过。Javascript中的eval()无法解析JSON字符串中的以下序列。其他的都可以

\" \\ \n \r

u r使用哪种方法读取json字符串上面的内容?u r使用哪种方法读取json字符串上面的内容?请帮助我转义:它不是通过反斜杠或双反斜杠工作的。您不需要手动转义json字符串,您可能不会涵盖所有情况,并且最终会得到输出无效json的响应。这个json getti是如何实现的生成ng?对于这个特定的情况,只需转义双引号:
。因此您的JSON应该是:
{“key”:“}
,正如h--n所说,eval无法解析\“char:eval(”)。您可以在控制台中执行此语句并查找“意外标识符帮助我避免了这种情况:它不能通过反斜杠或双反斜杠工作。您不需要手动转义JSON字符串,您可能无法涵盖所有情况,并且最终会得到输出无效JSON的响应。这个JSON是如何生成的?对于这个特定的情况,只需转义双引号:
“”
。因此,您的JSON应该如下所示:
{“key”:“}
,正如h--n所说的eval无法解析\“char:eval(“”)。您可以在控制台中执行此语句并找到“意外标识”的错误
\" \\ \n \r