下面是在我的模型上调用toJson方法生成的Json字符串:
currentString= {\“类\”:\"go.TreeModel\",\n \“节点数据数组\”:\n{\“键\”:0,\“文本\”:\“思维导图\”,\“锁\”:\“78.22705078125\”},\n{\“文本\”:\“想法\”,\“家长\”:0,\“键\”:-2,\“锁\”:\“0 0\"},\n{\“文本\”:\“想法\”,\“父级\”:-2,\“键\”:-3,\“锁定\”:\“128.22705078125 0\"}\n }
现在,当我尝试从这个字符串加载数据时: myDiagram.model = go.Model.fromJson(currentString);
什么都没有发生,而当我试图加载一个普通模型时,它工作了。
请帮帮忙。
发布于 2016-08-10 23:10:57
字符串很可能是在服务器端被更改的,Go js没有将其作为有效字符串读取,因此我通过下面的代码删除了无效字符,使其成为有效的Json字符串。此外,在开头和结尾还有一些额外的引号。在此之后,它完美地工作了。
String trimCurrentString=currentString.replaceAll("\\\\n", " ");//removes /n from the string.
String doubletrimCurrentString=trimCurrentString.replaceAll("\\\\","");//removes \from the String.
StringBuilder stringBuilder=new StringBuilder(doubletrimCurrentString);
stringBuilder.deleteCharAt(0);//removes the quote from beginning
stringBuilder.deleteCharAt((stringBuilder.length())-1);//removes the quote from the end发布于 2016-08-09 10:35:08
首先,currentString需要是字符串,而不是JavaScript对象。
其次,您需要在每个双引号之前停止使用反斜杠。
https://stackoverflow.com/questions/38819937
复制相似问题