用ajax做几个网页的时候,用到了textarea,由于在textarea里可以按回车,这些回车字符被存到了数据库中,我读取的时候是要把取出来的数据转化成json串的,但就是因为这些回车字符/r/n导致了json字符串不能正确的被转化为json对象,每次还得先把取过来的数据里的/r/n替换掉,但是这样以来换行就没有了,请教各位这种情况通常是怎么解决的?不仅仅是回车字符可能导致错误,引号也可能导致这样的错误,麻烦各位提出宝贵意见,小男子在此谢过

解决方案 »

  1.   

    你可以报保存数据库之前,进行 替换 str = str.Replace("\r\n","")
    或者在取出来的时候替换就可以啊
      

  2.   

    你怎样转化?json中的字符串值当然可以包含换行回车。关键是你是怎样转化的?如果你是手工地去拼接字符串,那么就了解一下json怎样在字符串中表示换行回车,而不要胡乱地“替换掉”。建议你使用.net中内置的或者第三方的json类库去转化。
      

  3.   

    呵呵。真的查不到?那么你最好找一个线程的类库去转换,不要什么都自己重新发明。你会有很多时间都要浪费的。在json中,换行回车就是\r\n。不是两个ascii码,而是就是这个四个字符本身。
      

  4.   

    举个例子吧,假设一个json对象,它有一个名为str属性,此属性值是个字符串,里边有个换行回车,其序列化结果怎么写呢?可能就是这样:var s = "{\"str\":\"kaskdfasdfa\\r\\n2834823423\"}";