我正在尝试测试一个简单的代码,我从JSON文件中提取数据并显示警报。我对JSON文件的格式感到困惑。 以下代码完美无缺: Working code 代码:
<!DOCTYPE html>
<html>
<body>
<h2>My First Web Pags</h2>
<p>My first paragraph.</p>
<script>
var text = '{ "name":"John", "birth":"1986-12-14", "city":"New York"}';
var jsonScript = JSON.parse(text);
var titledata = jsonScript.name;
alert(titledata);
</script>
</body>
</html>
另一方面,当我更改JSON的格式时,不会生成警报。 Faulty Code 代码:
<!DOCTYPE html>
<html>
<body>
<h2>My First Web Pags</h2>
<p>My first paragraph.</p>
<script>
var text = '{ "name":"John", "birth":"1986-12-14", "city":"New York"
}';
var jsonScript = JSON.parse(text);
var titledata = jsonScript.name;
alert(titledata);
</script>
</body>
</html>
我正在尝试编写一个使用Stock符号的PHP脚本(例如Apple的AAPL和Microsoft的MSFT)来请求包含有关搜索公司的股票新闻的XML文件。所有股票新闻都来自Seeking Alpha Stock News RSS feed。响应是XML格式化对象。 php脚本应该解析返回的XML格式的对象,提取必要的字段并构建一个JSON对象以发送给客户端。 我正在使用以下PHP代码:
$note = "https://seekingalpha.com/api/sa/combined/".$symbol.".xml";
$xml=simplexml_load_file($note) or die("Error: Cannot create object");
$jsonNews = json_encode($xml);
返回的json数据似乎在格式化方面存在一些问题。 我创建了一个示例json数据,其格式与php脚本返回的json格式相同。如果格式不正确,我该如何更正格式?
答案 0 :(得分:0)
这不是json的格式:
"aaa
bbb"
不是有效字符串(请参阅代码的颜色(编辑:我的意思是在图像中))
你可以做到
"aaa"+
"bbb"
(与“aaabbb”相同) 或
"aaa\nbbb"
如果您希望在字符串中包含换行符
编辑:所以在你的情况下:
'{"name": "John","birth": "1986-12-14","city": "new York"
}' - not a valid json string because not a valid string
'{"name": "John","birth": "1986-12-14","city": "new York"'+
'}' - a valid json string
'{"name": "John","birth": "1986-12-14","city": "new York"\n}' - a valid json string with a newline
答案 1 :(得分:0)
您不需要从字符串中定义JSON对象,这会导致错误地输入字符串var中的最后一个'}'符号时出错。你应该在那里写:+'}';
然而,JSON是Javascript Object Notation,因此您可以将其用作对象定义:
var jsonScript = {
name: "Jhon",
birth: "1986-12-14",
city: "New York"
}