json文件Javascript的正确格式是什么?

时间:2017-10-16 22:16:56

标签: javascript html json

我正在尝试测试一个简单的代码,我从JSON文件中提取数据并显示警报。我对JSON文件的格式感到困惑。 以下代码完美无缺: Working code enter image description here 代码:

<!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 enter image description here 代码:

<!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格式相同。如果格式不正确,我该如何更正格式?

2 个答案:

答案 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"
}