充分利用Javascript对象CSV值 [英] Getting CSV values from Javascript object
问题描述
我想Javascript对象转换为CSV并将其存储在一个文件..
我有一个演示: http://jsbin.com/atewix/8/edit
I am trying to convert Javascript object to CSV and store it in to a file.. I have a demo: http://jsbin.com/atewix/8/edit
我想要做的就是如果我给实体值时间或新闻报内部功能 findProps()
,
What I want to do is If I give the entity values "Time" or "News" inside function findProps()
,
应该格式返回CSV:
"http://www.testingmyurl.com", Time, Dec 9, 2012
或
"http://www.testingmyurl.com",News, Germany,Election
"http://www.testingmyurl.com",News,Egypt, Revolution
与目前的格式只返回个人价值,而且也为 [目标,对象]
{
"_index": "test",
"_source": {
"link": "http://www.testingmyurl.com",
"Categories": {
"Types": {
"Events": [{
"count": 1,
"entity": "Time",
"Time": [{
"entity": "Dec 9",
"Dec_9": [{
"count": 1,
"entity": "2012"
}]
}]
}]}}}}
这能翻在地平面结构?
Can this be turned in to a flat structure?
推荐答案
这是一个pretty深层结构,但是这个功能将与您的数据工作原样。在 fixSpace()
函数占 12月9日
和 Dec_9 $ C之间的差异$ C>。
That's a pretty deep structure, but this function will work with your data as-is. The fixSpace()
function accounts for the discrepancy between Dec 9
and Dec_9
.
演示: http://jsfiddle.net/ThinkingStiff/r2kje/一>
News:
"http://www.testingmyurl.com","News","Germany","Election"
"http://www.testingmyurl.com","News","Egypt","Revolution"
Time:
"http://www.testingmyurl.com","Time","Dec 9","2012"
脚本:
function findProps( name, data ) {
var results = [],
events = data._source.Categories.Types.Events,
link = data._source.link;
for( var eventIndex = 0; eventIndex < events.length; eventIndex++ ) {
var event = events[eventIndex];
if( event.entity == name && event[name] ) {
for( var entityIndex = 0; entityIndex < event[name].length; entityIndex++ ) {
var entity = event[name][entityIndex],
entityName = fixSpace( entity.entity );
if( entity[entityName] ) {
for( var valueIndex = 0; valueIndex < entity[entityName].length; valueIndex++ ) {
var value = entity[entityName][valueIndex];
results.push(
'"' + link + '",'
+ '"' + name + '",'
+ '"' + entity.entity + '",' //un-fixSpaced name
+ '"' + value.entity + '"'
);
};
};
};
};
};
return results;
};
function fixSpace( value ) {
return value.replace( ' ', '_' );
};
var news = findProps( "News", data );
document.getElementById( 'news' ).innerHTML = news.join( '<br />' );
var times = findProps( "Time", data );
document.getElementById( 'time' ).innerHTML = times.join( '<br />' );
HTML
News:
<div id="news"></div>
Time:
<div id="time"></div>
这篇关于充分利用Javascript对象CSV值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!