admin管理员组文章数量:1313290
I have a JSON array:
{"a":"apple,"b":"banana","c":"carrot"}
I want to split each part of the array into seperate variables, ie,
a = "apple",
b = "banana";
c = "carrot";
I have googled my goggles off but can't seem to find a correct way to do this. I am new to JSON and have done a fair bit of reading but what I am after doesn't seem to be referenced within my grasp.
EDIT: There seems to be confusion as to whether my array is a string
or object
. I am receiving a response from PHP as follows:
$json = array(
'a' => $a,
'b' => $b,
'c' => $c,
);
echo json_encode($json);
My JS code is as follows:
var data = ajax.responseText;
data = JSON.parse(data);
I get {"a":"apple,"b":"banana","c":"carrot"}
as a result of
json.stringify(data);
I have a JSON array:
{"a":"apple,"b":"banana","c":"carrot"}
I want to split each part of the array into seperate variables, ie,
a = "apple",
b = "banana";
c = "carrot";
I have googled my goggles off but can't seem to find a correct way to do this. I am new to JSON and have done a fair bit of reading but what I am after doesn't seem to be referenced within my grasp.
EDIT: There seems to be confusion as to whether my array is a string
or object
. I am receiving a response from PHP as follows:
$json = array(
'a' => $a,
'b' => $b,
'c' => $c,
);
echo json_encode($json);
My JS code is as follows:
var data = ajax.responseText;
data = JSON.parse(data);
I get {"a":"apple,"b":"banana","c":"carrot"}
as a result of
json.stringify(data);
Share
Improve this question
edited Jan 24, 2014 at 6:02
Wildcard27
asked Jan 24, 2014 at 5:20
Wildcard27Wildcard27
1,45921 silver badges51 bronze badges
3
- 1 Why you want to do it. You can always use obj.a, obj.b, obj.c – Sachin Jain Commented Jan 24, 2014 at 5:22
- 1 Please note that your question/problem has nothing to do with JSON. After the JSON is parsed, you are working with regular JS arrays and objects. – Felix Kling Commented Jan 24, 2014 at 5:39
- @Felix Kling Thank you, noted. – Wildcard27 Commented Jan 24, 2014 at 6:11
3 Answers
Reset to default 8One example of how you can do this is found here.
It assumes you want to put the variables into global scope. If this is the case, this will work:
function extract(variable) {
for (var key in variable) {
window[key] = variable[key];
}
}
var obj = {"a":"apple","b":"banana","c":"carrot"}
extract(obj);
alert(a);
alert(b);
alert(c);
In Javascript, arrays are objects, and objects are arrays. But they have been initialized with special behavior.
Take a look at this answer:
https://stackoverflow./a/4215753/1311986
You will find that you want to do something very similar.
First of all {"a":"apple,"b":"banana","c":"carrot"} is not an array, it's a simple JSON String.
Now to parse JSON String you can use
JSON.parse()
It is supported by all Modern Browsers and you can also find the library here
You may try to do this with your app: assuming your jsonString as an array.
var jsonObj = $.parseJSON("### json string #####");
for(var index = 0; index < jsonObj.length; index++){
console.log("a:"+jsonObj[index].a+",b:"+jsonObj[index].b+",c:"+jsonObj[index].c);
}
You will get the output something like this:
a: apple, b:banana, c:carrot
. . .
. . .
Hope this solves your problem.
本文标签: javascriptConvert JSON array into individual JS variablesStack Overflow
版权声明:本文标题:javascript - Convert JSON array into individual JS variables - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741889027a2403190.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论