【发布时间】:2014-12-12 17:45:30
【问题描述】:
我按照这个例子生成了一个json字符串,稍后在javascript中解析
package example;
import org.codehaus.jackson.map.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
public class Example {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
map.put("key1","value1");
map.put("key2","value2");
String json = mapper.writeValueAsString(map);
System.out.println(json);
}
}
在 Javascript 中:
$http.get('/rest/json-example').
success(function(data) {
//$scope.count = data.length;
console.log(data.key1);
//console.log(JSON.parse(data));
}).error(function(error) {
console.log(error);
});
我不知道如何解析字符串,这是使用它打印出来的方式
console.log(data)
// Object {key1: "value2", key2: "value1"}
如果我使用
JSON.parse(data);
// I get an error "unexpected SyntaxError: Unexpected token o at Object.parse (native)..."
如果我尝试像这样访问它:
console.log(data[0]);
// I get undefined
【问题讨论】:
-
也许字符串
data不是 JSON,因为它没有引用属性名称?data定义在哪里? -
@JuanMendes:JSON 序列化程序将产生有效的 JSON。
-
@SLaks 我希望如此,但是 OP 正在调用
JSON.parse并且它失败了? OP 需要显示数据的定义位置。 -
感谢我添加了我的 javascript 调用
-
data已经从 JSON 转换为 JavaScript 对象,无需解析
标签: java javascript json jackson