Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javajacksonjson解析javascript中的JSON_Java_Javascript_Json_Jackson - Fatal编程技术网

从javajacksonjson解析javascript中的JSON

从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

我按照这个示例生成了一个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);
    }
}
我不知道如何解析字符串,这是如何使用

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