json
=
{
contry:{
area:{
man:"12万",
women:"10万"
}
}
}
//方式一:使用eval解析
var
obj
=
eval(json)
alert(obj.constructor)
alert(obj.contry.area.women)
//方式二:使用Funtion函数
var
strJSON
=
"{name:'json
name'}"//得到的JSON
var
obj
=
new
Function("return"
+
strJSON)()//转换后的JSON对象
alert(obj.name)//json
name
alert(obj.constructor)
//复杂一点的json数组数据的解析
var
value1
=
[{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"},
{"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"},
{"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}]
var
obj1
=
eval(value1)
alert(obj1[0].c01)
//复杂一点的json的另一种形式
var
value2
=
{"list":[
{"password":"1230","username":"coolcooldool"},
{"password":"thisis2","username":"okokok"}],
"array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]}
var
obj2
=
eval(value2)
alert(obj2.list[0].password)
用angularjs读取本地json的方法如下:1、本地json文件的内容如下:
[{ "text":"learn angular", "done":true },
{ "text":"build an angular app", "done":false},
{ "text":"something", "done":false },
{ "text":"another todo", "done":true }]
2、利用angularjs读取的方法:
var App = angular.module('App', [])
App.controller('TodoCtrl', function($scope, $http) {
$http.get('todos.json')
.then(function(res){
$scope.todos = res.data
})
})
如果要使用js读取json文件,那么ajax操作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:
$.get('xx.json路径', function(data){alert(data) // data即为json文件内容里的json数据
}, 'json')
如果把这个文件的内容读取为纯文本,可以修改$.get的最后一个参数json为text,或者删掉这个参数,默认也是text。