从javajacksonjson解析javascript中的JSON
我按照这个示例生成了一个json字符串,稍后将在javascript中进行解析从javajacksonjson解析javascript中的JSON,java,javascript,json,jackson,Java,Javascript,Json,Jackson,我按照这个示例生成了一个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
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);
}
}
我不知道如何解析字符串,这是如何使用
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
数据
是一个具有两个属性的对象
JSON.parse()
失败,因为它不是一个JSON字符串
数据[0]
不返回任何内容,因为它没有此类属性
您需要
data.key1
可能字符串data
不是JSON,因为它没有引用属性名?data
在哪里定义?@JuanMendes:JSON序列化程序将生成有效的JSON。@SLaks我希望如此,但OP正在调用它的JSON.parse
,它失败了?OP需要显示数据的定义位置。感谢我添加了javascript调用data
已经从JSON转换为javascript对象,无需解析它数据
来自何处?这不是来自AJAX调用的字符串吗?@JuanMendes:我们不知道,但是console.log
清楚地表明它是一个对象。这是真的,我错过了它前面的对象,认为它可能是JSON序列化程序的问题。一些JSON序列化程序确实可以选择不引用字符串,或者这只是在反序列化时。。。
console.log(data[0]);
// I get undefined